Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/operations.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ Vercel builds and serves the frontend from the Git repository. A push to `main`
- `noindex` headers for `/app`, `/login`, `/share` and `/embed/debate-timer`. The app shell's robots meta is `noindex, nofollow`, the same policy. Public pages, including the prerendered `/expocit/sources`, are `index, follow`. A route deletes the platform `Access-Control-Allow-Origin: *` header on HTML responses and leaves it on static assets;
- Content Security Policy and the other response security headers, including the `Permissions-Policy` that allows the microphone for the app's own origin only. Jam is limited to `https://js.jam.dev` and `https://recorder.jam.dev`; `script-src` does not include `unsafe-eval`. Web Analytics and Speed Insights stay on this origin (`/_vercel/insights` and `/_vercel/speed-insights`), which `'self'` already allows. Every path except `/embed/debate-timer` refuses to be framed (`X-Frame-Options: DENY` and `frame-ancestors 'none'`). `/embed/debate-timer` allows any site to frame it and gets its own CSP, which permits only same-origin scripts and requests. The two rules use complementary sources (`/((?!embed/debate-timer$).*)` and `/embed/debate-timer`) so no path gets both, a new embed needs its path added to both, and `src/test/vercel-deployment-config.test.ts` fails if two matching rules ever set the same header.

After `vite build`, [`scripts/prerender.mjs`](../scripts/prerender.mjs) renders the landing page, `/terms`, `/privacy`, `/expocit/sources`, and the 404 page in Node through [`src/prerender/entry.tsx`](../src/prerender/entry.tsx). It writes them to `dist/index.html`, `dist/terms/index.html`, `dist/privacy/index.html`, `dist/expocit/sources/index.html`, and `dist/404.html`, each with its own title, description, and canonical URL from [`src/lib/seo/pages.ts`](../src/lib/seo/pages.ts); the landing page also carries the Organization, SoftwareApplication (with the trial and Pro offers) and FAQPage JSON-LD. The built shell is kept as `dist/app-shell.html`. On load, the client replaces the prerendered HTML with the same page. A new public SPA page needs an entry in `PAGE_HEADS`, in the prerender entry, and a route kept out of the 404.
After `vite build`, [`scripts/prerender.mjs`](../scripts/prerender.mjs) renders the landing page, `/terms`, `/privacy`, `/about`, `/contact`, `/expocit/sources`, and the 404 page in Node through [`src/prerender/entry.tsx`](../src/prerender/entry.tsx). It writes them to `dist/index.html`, `dist/terms/index.html`, `dist/privacy/index.html`, `dist/about/index.html`, `dist/contact/index.html`, `dist/expocit/sources/index.html`, and `dist/404.html`, each with its own title, description, and canonical URL from [`src/lib/seo/pages.ts`](../src/lib/seo/pages.ts); `/about` and `/contact` carry AboutPage and ContactPage JSON-LD, and the contact and privacy addresses come from `contactEmail` and `privacyEmail` in [`src/config/site.json`](../src/config/site.json); the landing page also carries the Organization (with its `contactPoint`), SoftwareApplication (with the trial and Pro offers) and FAQPage JSON-LD. The built shell is kept as `dist/app-shell.html`. On load, the client replaces the prerendered HTML with the same page. A new public SPA page needs an entry in `PAGE_HEADS`, in the prerender entry, and a route kept out of the 404.

The free tools under `/tools` ([`src/pages/tools/`](../src/pages/tools/)) are prerendered the same way, listed in [`src/prerender/tool-pages.tsx`](../src/prerender/tool-pages.tsx) with heads in [`src/lib/seo/tool-pages.ts`](../src/lib/seo/tool-pages.ts). They render their own JSON-LD in the page body, so the dev server and the prerendered HTML carry the same structured data, and their `dateModified` is `TOOL_PAGES_MODIFIED` in that file: bump it with a substantive content change. Their speech times come from [`src/lib/free-tools/formats.ts`](../src/lib/free-tools/formats.ts), which cites a league source per format.

Expand Down
2 changes: 1 addition & 1 deletion public/ai-debate-case-generator/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,6 @@
<a href="/how-to-flow-in-debate">How to Flow in Debate</a>
<a href="/best-ai-debate-tools">Best AI Debate Tools Compared</a></nav></section>
</main>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/about">About</a> / <a href="/contact">Contact</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
</body>
</html>
2 changes: 1 addition & 1 deletion public/ai-debate-coach/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,6 @@
<a href="/congress-debate">Congressional Debate Prep with AI</a>
<a href="/how-to-write-a-debate-case">How to Write a Debate Case</a></nav></section>
</main>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/about">About</a> / <a href="/contact">Contact</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
</body>
</html>
2 changes: 1 addition & 1 deletion public/ai-debate-practice/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,6 @@
<a href="/public-forum-debate">Public Forum Debate Prep with AI</a>
<a href="/how-to-write-a-debate-case">How to Write a Debate Case</a></nav></section>
</main>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/about">About</a> / <a href="/contact">Contact</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
</body>
</html>
2 changes: 1 addition & 1 deletion public/ai-rebuttal-generator/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,6 @@
<a href="/debate-judge-adaptation">Debate Judge Adaptation Guide</a>
<a href="/best-ai-debate-tools">Best AI Debate Tools Compared</a></nav></section>
</main>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/about">About</a> / <a href="/contact">Contact</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
</body>
</html>
2 changes: 1 addition & 1 deletion public/argument-flowchart/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,6 @@
<a href="/how-to-practice-rebuttals">How to Practice Debate Rebuttals</a>
<a href="/best-ai-debate-tools">Best AI Debate Tools Compared</a></nav></section>
</main>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/about">About</a> / <a href="/contact">Contact</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
</body>
</html>
2 changes: 1 addition & 1 deletion public/best-ai-debate-tools/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,6 @@
<a href="/ai-debate-practice">AI Debate Practice for Stronger Cases, Rebuttals, and Speeches</a>
<a href="/public-forum-debate">Public Forum Debate Prep with AI</a></nav></section>
</main>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/about">About</a> / <a href="/contact">Contact</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
</body>
</html>
2 changes: 1 addition & 1 deletion public/british-parliamentary-debate/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,6 @@
<a href="/debate-evidence-finder">Find Better Debate Evidence Without Losing the Argument</a>
<a href="/how-to-write-a-debate-case">How to Write a Debate Case</a></nav></section>
</main>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/about">About</a> / <a href="/contact">Contact</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
</body>
</html>
2 changes: 1 addition & 1 deletion public/congress-debate/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,6 @@
<a href="/debate-fallacies">Common Debate Fallacies and How to Attack Them</a>
<a href="/best-ai-debate-tools">Best AI Debate Tools Compared</a></nav></section>
</main>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/about">About</a> / <a href="/contact">Contact</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
</body>
</html>
2 changes: 1 addition & 1 deletion public/debate-clash-points/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,6 @@
<a href="/ai-debate-practice">AI Debate Practice for Stronger Cases, Rebuttals, and Speeches</a>
<a href="/public-forum-debate">Public Forum Debate Prep with AI</a></nav></section>
</main>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/about">About</a> / <a href="/contact">Contact</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
</body>
</html>
2 changes: 1 addition & 1 deletion public/debate-evidence-finder/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,6 @@
<a href="/policy-debate">Policy Debate Prep with AI</a>
<a href="/how-to-write-a-debate-case">How to Write a Debate Case</a></nav></section>
</main>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/about">About</a> / <a href="/contact">Contact</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
</body>
</html>
2 changes: 1 addition & 1 deletion public/debate-fallacies/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,6 @@
<a href="/policy-debate">Policy Debate Prep with AI</a>
<a href="/best-ai-debate-tools">Best AI Debate Tools Compared</a></nav></section>
</main>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/about">About</a> / <a href="/contact">Contact</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
</body>
</html>
2 changes: 1 addition & 1 deletion public/debate-judge-adaptation/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,6 @@
<a href="/ai-debate-coach">Ask an AI Debate Coach for Round-Ready Prep</a>
<a href="/public-forum-debate">Public Forum Debate Prep with AI</a></nav></section>
</main>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/about">About</a> / <a href="/contact">Contact</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
</body>
</html>
2 changes: 1 addition & 1 deletion public/debate-motion-analysis/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,6 @@
<a href="/debateowl-vs-chatgpt">DebateOwl vs ChatGPT for Debate Prep</a>
<a href="/ai-debate-practice">AI Debate Practice for Stronger Cases, Rebuttals, and Speeches</a></nav></section>
</main>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/about">About</a> / <a href="/contact">Contact</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
</body>
</html>
2 changes: 1 addition & 1 deletion public/debate-rebuttal-practice/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,6 @@
<a href="/debateowl-vs-debateclub">DebateOwl vs DebateClub</a>
<a href="/public-forum-debate">Public Forum Debate Prep with AI</a></nav></section>
</main>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/about">About</a> / <a href="/contact">Contact</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
</body>
</html>
2 changes: 1 addition & 1 deletion public/debate-speech-structure/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,6 @@
<a href="/debate-evidence-finder">Find Better Debate Evidence Without Losing the Argument</a>
<a href="/public-forum-debate">Public Forum Debate Prep with AI</a></nav></section>
</main>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/about">About</a> / <a href="/contact">Contact</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
</body>
</html>
2 changes: 1 addition & 1 deletion public/debate-topics-for-students/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,6 @@
<a href="/british-parliamentary-debate">British Parliamentary Debate Prep with AI</a>
<a href="/best-ai-debate-tools">Best AI Debate Tools Compared</a></nav></section>
</main>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/about">About</a> / <a href="/contact">Contact</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
</body>
</html>
2 changes: 1 addition & 1 deletion public/debateowl-pricing/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,6 @@
<a href="/debate-speech-structure">Debate Speech Structure and Delivery</a>
<a href="/ai-debate-practice">AI Debate Practice for Stronger Cases, Rebuttals, and Speeches</a></nav></section>
</main>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/about">About</a> / <a href="/contact">Contact</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
</body>
</html>
2 changes: 1 addition & 1 deletion public/debateowl-vs-chatgpt/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,6 @@
<a href="/debate-evidence-finder">Find Better Debate Evidence Without Losing the Argument</a>
<a href="/public-forum-debate">Public Forum Debate Prep with AI</a></nav></section>
</main>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/about">About</a> / <a href="/contact">Contact</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
</body>
</html>
2 changes: 1 addition & 1 deletion public/debateowl-vs-debateclub/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,6 @@
<a href="/policy-debate">Policy Debate Prep with AI</a>
<a href="/how-to-write-a-debate-case">How to Write a Debate Case</a></nav></section>
</main>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/about">About</a> / <a href="/contact">Contact</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
</body>
</html>
2 changes: 1 addition & 1 deletion public/debateowl-vs-windebate/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,6 @@
<a href="/how-to-practice-rebuttals">How to Practice Debate Rebuttals</a>
<a href="/ai-debate-practice">AI Debate Practice for Stronger Cases, Rebuttals, and Speeches</a></nav></section>
</main>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/about">About</a> / <a href="/contact">Contact</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
</body>
</html>
2 changes: 1 addition & 1 deletion public/how-to-cross-examine-in-debate/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,6 @@
<a href="/lincoln-douglas-debate">Lincoln-Douglas Debate Prep with AI</a>
<a href="/best-ai-debate-tools">Best AI Debate Tools Compared</a></nav></section>
</main>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/about">About</a> / <a href="/contact">Contact</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
</body>
</html>
2 changes: 1 addition & 1 deletion public/how-to-flow-in-debate/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,6 @@
<a href="/best-ai-debate-tools">Best AI Debate Tools Compared</a>
<a href="/ai-debate-practice">AI Debate Practice for Stronger Cases, Rebuttals, and Speeches</a></nav></section>
</main>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
<footer class="footer"><div class="wrap">DebateOwl: <a href="/">Home</a> / <a href="/debateowl-pricing">Pricing</a> / <a href="/privacy">Privacy</a> / <a href="/terms">Terms</a> / <a href="/about">About</a> / <a href="/contact">Contact</a> / <a href="/sitemap.xml">Sitemap</a></div></footer>
</body>
</html>
Loading
Loading