Fix mobile nav/TOC/overflow on article pages + harden membership form
Mobile fixes (article, guide, get-to-know, projects pages): - Remove duplicate main.js include site-wide. footer.js emitted a <script src=main.js> inside the footer block while pages also load one before </body>, so DOMContentLoaded ran twice and every tap toggled the mobile menu / article TOC twice (net no-op). Menu and TOC only worked on the homepage. Now exactly one main.js per page, before </body>. - Kill horizontal overflow: add overflow-x: clip to html/body (clips the off-canvas mobile nav panel without breaking position: sticky, unlike overflow-x: hidden). - Reset align-items to stretch in the mobile .article-layout-container rule; the desktop flex-start made .article-container size to max-content width in a column flexbox and overflow the viewport. Membership form hardening (Become a Member): - Honeypot field + localStorage cooldown (30s gap, max 3/24h) + stronger email regex; trilingual cooldown alert message. - Apps Script (setup doc): per-email auto-reply dedupe + daily send cap; applicant reply is a plain thank-you that never echoes submitted answers. - Draft HTML welcome email (email-welcome-preview.html) for later use. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
7bc249e8a4
commit
efb3c6ea39
196 files changed
+83
-203
No files matched your search
@@ -324,7 +324,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../../main.js"></script>
|
||||
</footer>
|
||||
<!-- END_FOOTER -->
|
||||
|
||||
|
||||
@@ -321,7 +321,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../../main.js"></script>
|
||||
</footer>
|
||||
<!-- END_FOOTER -->
|
||||
|
||||
|
||||
@@ -322,7 +322,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../../main.js"></script>
|
||||
</footer>
|
||||
<!-- END_FOOTER -->
|
||||
|
||||
|
||||
@@ -319,7 +319,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../../main.js"></script>
|
||||
</footer>
|
||||
<!-- END_FOOTER -->
|
||||
|
||||
|
||||
@@ -337,7 +337,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../../main.js"></script>
|
||||
</footer>
|
||||
<!-- END_FOOTER -->
|
||||
|
||||
|
||||
@@ -349,7 +349,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../../main.js"></script>
|
||||
</footer>
|
||||
<!-- END_FOOTER -->
|
||||
|
||||
|
||||
@@ -340,7 +340,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../../main.js"></script>
|
||||
</footer>
|
||||
<!-- END_FOOTER -->
|
||||
|
||||
|
||||
@@ -365,7 +365,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../../main.js"></script>
|
||||
</footer>
|
||||
<!-- END_FOOTER -->
|
||||
|
||||
|
||||
@@ -314,7 +314,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../../main.js"></script>
|
||||
</footer>
|
||||
<!-- END_FOOTER -->
|
||||
|
||||
|
||||
@@ -332,7 +332,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../../main.js"></script>
|
||||
</footer>
|
||||
<!-- END_FOOTER -->
|
||||
|
||||
|
||||
@@ -375,7 +375,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../../main.js"></script>
|
||||
</footer>
|
||||
<!-- END_FOOTER -->
|
||||
|
||||
|
||||
@@ -480,7 +480,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../main.js"></script>
|
||||
</footer>
|
||||
<!-- END_FOOTER -->
|
||||
|
||||
|
||||
@@ -326,7 +326,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../../main.js"></script>
|
||||
</footer>
|
||||
<!-- END_FOOTER -->
|
||||
|
||||
|
||||
@@ -398,7 +398,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../../main.js"></script>
|
||||
</footer>
|
||||
<!-- END_FOOTER -->
|
||||
|
||||
|
||||
@@ -226,7 +226,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../../main.js"></script>
|
||||
</footer>
|
||||
<!-- END_FOOTER -->
|
||||
|
||||
|
||||
@@ -353,7 +353,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../../main.js"></script>
|
||||
</footer>
|
||||
<!-- END_FOOTER -->
|
||||
|
||||
|
||||
@@ -370,7 +370,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../../main.js"></script>
|
||||
</footer>
|
||||
<!-- END_FOOTER -->
|
||||
|
||||
|
||||
@@ -315,7 +315,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../../main.js"></script>
|
||||
</footer>
|
||||
<!-- END_FOOTER -->
|
||||
|
||||
|
||||
@@ -324,7 +324,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../../main.js"></script>
|
||||
</footer>
|
||||
<!-- END_FOOTER -->
|
||||
|
||||
|
||||
@@ -364,7 +364,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../../main.js"></script>
|
||||
</footer>
|
||||
<!-- END_FOOTER -->
|
||||
|
||||
|
||||
@@ -364,7 +364,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../../main.js"></script>
|
||||
</footer>
|
||||
<!-- END_FOOTER -->
|
||||
|
||||
|
||||
@@ -334,7 +334,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../../main.js"></script>
|
||||
</footer>
|
||||
<!-- END_FOOTER -->
|
||||
|
||||
|
||||
@@ -322,7 +322,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../../main.js"></script>
|
||||
</footer>
|
||||
<!-- END_FOOTER -->
|
||||
|
||||
|
||||
@@ -359,7 +359,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../../main.js"></script>
|
||||
</footer>
|
||||
<!-- END_FOOTER -->
|
||||
|
||||
|
||||
@@ -376,7 +376,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../../main.js"></script>
|
||||
</footer>
|
||||
<!-- END_FOOTER -->
|
||||
|
||||
|
||||
@@ -343,7 +343,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../../main.js"></script>
|
||||
</footer>
|
||||
<!-- END_FOOTER -->
|
||||
|
||||
|
||||
@@ -317,7 +317,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../../main.js"></script>
|
||||
</footer>
|
||||
<!-- END_FOOTER -->
|
||||
|
||||
|
||||
@@ -349,7 +349,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../../main.js"></script>
|
||||
</footer>
|
||||
<!-- END_FOOTER -->
|
||||
|
||||
|
||||
@@ -319,7 +319,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../../main.js"></script>
|
||||
</footer>
|
||||
<!-- END_FOOTER -->
|
||||
|
||||
|
||||
@@ -346,7 +346,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../../main.js"></script>
|
||||
</footer>
|
||||
<!-- END_FOOTER -->
|
||||
|
||||
|
||||
@@ -313,7 +313,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../../main.js"></script>
|
||||
</footer>
|
||||
<!-- END_FOOTER -->
|
||||
|
||||
|
||||
@@ -384,7 +384,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../../main.js"></script>
|
||||
</footer>
|
||||
<!-- END_FOOTER -->
|
||||
|
||||
|
||||
Reference in new issue
Block a user