-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcontact.html
More file actions
114 lines (105 loc) · 7.32 KB
/
Copy pathcontact.html
File metadata and controls
114 lines (105 loc) · 7.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Contact — Diffhero | Diffhero</title>
<meta name="description" content="Get in touch about Diffhero — report a bug, request a feature, or ask a question about the diff checker.">
<link rel="canonical" href="https://diffhero.app/contact">
<meta property="og:title" content="Contact — Diffhero">
<meta property="og:description" content="Get in touch about Diffhero — report a bug, request a feature, or ask a question about the diff checker.">
<meta property="og:type" content="website">
<meta property="og:url" content="https://diffhero.app/contact">
<meta property="og:image" content="https://diffhero.app/assets/og-image.png">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="https://diffhero.app/assets/og-image.png">
<link rel="icon" type="image/svg+xml" href="./assets/favicon.svg">
<meta name="theme-color" content="#0a0d12">
<meta name="msvalidate.01" content="5A4EFD6B7BD09C4C115B7ACCF3688E1C">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="./assets/style.css?v=f12ce522">
<script async src="https://www.googletagmanager.com/gtag/js?id=G-Q907KGWEP4"></script>
<script>window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}
gtag('js',new Date());gtag('config','G-Q907KGWEP4');</script>
<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebApplication","name":"Diffhero","url":"https://diffhero.app/contact","description":"Get in touch about Diffhero — report a bug, request a feature, or ask a question about the diff checker.","applicationCategory":"UtilitiesApplication","operatingSystem":"Any (web browser)","offers":{"@type":"Offer","price":"0","priceCurrency":"USD"},"author":{"@type":"Person","name":"Bruno FK","url":"https://brunofk.dev"},"datePublished":"2026-07-18","dateModified":"2026-07-24"}</script>
<script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Diffhero","item":"https://diffhero.app/"},{"@type":"ListItem","position":2,"name":"Contact — Diffhero","item":"https://diffhero.app/contact"}]}</script>
<script data-grow-initializer="">
!(function(){window.growMe||((window.growMe=function(e){window.growMe._.push(e);}),(window.growMe._=[]));var e=document.createElement("script");(e.type="text/javascript"),(e.src="https://faves.grow.me/main.js"),(e.defer=!0),e.setAttribute("data-grow-faves-site-id","U2l0ZTpiZTY1ZGY2My0zODg3LTQwOTEtYjliMi0zNTgzODU3ZWIxZTY=");var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t);})();
</script>
</head>
<body>
<a class="skip-link" href="#main">Skip to content</a>
<header class="topbar">
<a class="logo" href="/">
<svg class="logo-mark" width="20" height="20" viewBox="0 0 22 22" fill="none" aria-hidden="true"><rect x="2" y="3" width="7" height="16" fill="currentColor"/><rect x="13" y="7" width="7" height="12" fill="currentColor" opacity="0.45"/></svg>
Diffhero
</a>
<nav class="topnav" aria-label="Main">
<a href="/">Tools</a>
<a href="/guides">Guides</a>
<a href="/diffchecker-alternative">Compare</a>
<a href="/about">About</a>
</nav>
<div class="topbar-end">
<span class="topbar-note">no upload · no account</span>
<button type="button" class="theme-toggle" id="themeToggle" aria-label="Toggle light/dark">
<svg class="icon-sun" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" aria-hidden="true"><circle cx="12" cy="12" r="4"/><path d="M12 2v2.5M12 19.5V22M4.2 4.2l1.8 1.8M18 18l1.8 1.8M2 12h2.5M19.5 12H22M4.2 19.8 6 18M18 6l1.8-1.8"/></svg>
<svg class="icon-moon" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20.2 14.6A8.5 8.5 0 1 1 9.4 3.8a7 7 0 0 0 10.8 10.8Z"/></svg>
</button>
</div>
</header>
<div class="shell shell--docs">
<nav class="rail" aria-label="Guides and site">
<div class="rail-in">
<p class="rail-title"><a href="/guides">Guides</a></p>
<section class="rail-group">
<p class="rail-head" id="rail-reading">Reading</p>
<ul class="rail-list is-here" aria-labelledby="rail-reading">
<li><a href="/guides/what-is-a-diff">What is a diff? How software compares two versions of a file</a></li>
<li><a href="/guides/how-to-review-a-pull-request">How to review a pull request well</a></li>
<li><a href="/guides/merge-conflicts-explained">Merge conflicts explained, and how to resolve them without losing work</a></li>
<li><a href="/guides/diffing-config-files-safely">How to diff config files without breaking production</a></li>
<li><a href="/guides/line-word-and-semantic-diffs">Line, word and semantic diffs: which comparison you actually need</a></li>
<li><a href="/guides/client-side-tools-and-privacy">Why “nothing leaves your browser” matters for developer tools</a></li>
<li><a href="/guides/comparing-documents-without-track-changes">How to compare two documents when Track Changes wasn't on</a></li>
</ul>
</section>
<section class="rail-group">
<p class="rail-head" id="rail-site">Site</p>
<ul class="rail-list is-here" aria-labelledby="rail-site">
<li><a href="/diffchecker-alternative">Diffchecker alternative</a></li>
<li><a href="/embed">Embed the diff checker</a></li>
<li><a href="/about">About</a></li>
<li><a href="/privacy">Privacy</a></li>
<li><a href="/terms">Terms</a></li>
<li><a href="/contact" aria-current="page">Contact</a></li>
</ul>
</section>
<section class="rail-group">
<p class="rail-head" id="rail-tools">Tools</p>
<ul class="rail-list is-here" aria-labelledby="rail-tools">
<li><a href="/">All 30 diff tools →</a></li>
</ul>
</section>
</div>
</nav>
<main class="content" id="main">
<section class="prose">
<h1>Contact</h1>
<p>Bug reports, feature ideas, or anything else — email <a href="mailto:hello@diffhero.app">hello@diffhero.app</a> and you'll get a reply.</p>
<p>There's no contact form here on purpose: a form would need a backend, and part of the point of Diffhero is that there isn't one.</p>
</section>
</main>
</div>
<footer>
<div class="foot-in">
<div><span class="fb">Diffhero</span> — See exactly what changed. · <a href="/guides">Guides</a> · <a href="/diffchecker-alternative">Compare</a> · <a href="/about">About</a> · <a href="/privacy">Privacy</a> · <a href="/terms">Terms</a> · <a href="/contact">Contact</a> · <a href="mailto:hello@diffhero.app">hello@diffhero.app</a></div>
<div>Free. No signup, no upload — everything runs in your browser.<br>
Built and maintained by <a href="https://brunofk.dev" rel="author noopener" target="_blank">Bruno FK</a>, an independent developer in Edinburgh.</div>
</div>
</footer>
<script src="./assets/app.js?v=915cb235" defer></script>
</body>
</html>