fix topbar to work on mobile devices

The topbar, by way of JavaScript, now works
on mobile devices such as cell phones and
tablets.

Internal links for entries from 1984 thru 2015
have been adjusted.

Ran `make www` to perform the above.

TODO: Fix some color issues on topbar.

TODO: More testing!
This commit is contained in:
Landon Curt Noll committed 2024-04-22 15:05:59 -07:00
1 parent 99cd17401e
commit 97f6da1247
440 files changed
+74125 -6956

No files matched your search

+2 -2
View File
@@ -110,7 +110,7 @@ them.
### User-modifiable Features
The code can be user-modified simply by changing the build command line.
The following symbols are defined in the [Makefile](Makefile):
The following symbols are defined in the [Makefile](%%REPO_URL%%/2013/millsMakefile):
* `-DLT=x1,y1,z1,x2,y2,z2,...` defines the coordinates of the lights in the
scene. It should be a comma-separated list of coordinates `(x, y, z)`, three per
@@ -129,7 +129,7 @@ The original program bound the server to `INADDR_ANY` to allow everyone to
experience the server's output. The Judges suggested that I instead restrict
the bind to `INADDR_LOOPBACK` to reduce security alarms. As a compliant veteran
of innumerable post-ship late feature additions, I have modified the
[Makefile](Makefile) to inject the new code without destroying the beautiful
[Makefile](%%REPO_URL%%/2013/millsMakefile) to inject the new code without destroying the beautiful
spherical symmetry of the source code. In addition, I have altered the word
`sin_port` to the more family-friendly version `win_port` (via
`-Dwin_port="sin_addr.s_addr=htonl(2130706433),R.sin_port"`) to protect against
+184 -18
View File
@@ -51,6 +51,8 @@
IOCCC
</div>
<div class="mobile-header-button-label">Click This</div>
<div class="topbar-items">
<div class="item">
<span class="item-header">
@@ -58,10 +60,10 @@
</span>
<div class="sub-item">
<div class="outfit-font"><a href="../../index.html">IOCCC Home</a></div>
<div class="outfit-font"><a href="../../years.html">Winning Entries</a></div>
<div class="outfit-font"><a href="../../authors.html">People who have won</a></div>
<div class="outfit-font"><a href="../../location.html">Location of authors</a></div>
<div class="outfit-font"><a href="./index.html">IOCCC Home</a></div>
<div class="outfit-font"><a href="./years.html">Winning Entries</a></div>
<div class="outfit-font"><a href="./authors.html">People who have won</a></div>
<div class="outfit-font"><a href="./location.html">Location of authors</a></div>
</div>
</div>
@@ -71,11 +73,11 @@
</span>
<div class="sub-item">
<div class="outfit-font"><a href="../../news.html">IOCCC News</a></div>
<div class="outfit-font"><a href="../../status.html">Contest status</a></div>
<div class="outfit-font"><a href="../../next/index.html">Rules and Guidelines</a></div>
<div class="outfit-font"><a href="../../faq.html#submit">How to enter the IOCCC</a></div>
<div class="outfit-font"><a href="../../faq.html">FAQ</a></div>
<div class="outfit-font"><a href="./news.html">IOCCC News</a></div>
<div class="outfit-font"><a href="./status.html">Contest status</a></div>
<div class="outfit-font"><a href="./next/index.html">Rules and Guidelines</a></div>
<div class="outfit-font"><a href="./faq.html#submit">How to enter the IOCCC</a></div>
<div class="outfit-font"><a href="./faq.html">FAQ</a></div>
</div>
</div>
@@ -85,11 +87,11 @@
</span>
<div class="sub-item">
<div class="outfit-font"><a href="../../bugs.html">Bugs &amp; (mis)features</a></div>
<div class="outfit-font"><a href="../../faq.html#fix_an_entry">Fixing IOCCC entries</a></div>
<div class="outfit-font"><a href="../../faq.html#fix_web_site">Fixing the web site</a></div>
<div class="outfit-font"><a href="../../faq.html#fix_author">Fixing author info</a></div>
<div class="outfit-font"><a href="../../thanks-for-help.html">Thanks for the help</a></div>
<div class="outfit-font"><a href="./bugs.html">Bugs &amp; (mis)features</a></div>
<div class="outfit-font"><a href="./faq.html#fix_an_entry">Fixing IOCCC entries</a></div>
<div class="outfit-font"><a href="./faq.html#fix_web_site">Fixing the web site</a></div>
<div class="outfit-font"><a href="./faq.html#fix_author">Fixing author info</a></div>
<div class="outfit-font"><a href="./thanks-for-help.html">Thanks for the help</a></div>
</div>
</div>
@@ -99,15 +101,179 @@
</span>
<div class="sub-item">
<div class="outfit-font"><a href="../../judges.html">The IOCCC Judges</a></div>
<div class="outfit-font"><a href="../../contact.html">Contacting the IOCCC</a></div>
<div class="outfit-font"><a href="./judges.html">The IOCCC Judges</a></div>
<div class="outfit-font"><a href="./contact.html">Contacting the IOCCC</a></div>
</div>
</div>
</div>
</div>
</nav>
<div class="header-mobile-menu">
<button id="header-open-menu-button" class="topbar-mobile-menu">
<svg
class="mobile-menu-icon"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
>
<path
strokeLinecap="round"
strokeLinejoin="round"
strokeWidth="2"
d="M4 6h16M4 12h16M4 18h16"
></path>
</svg>
</button>
<button id="header-close-menu-button" class="hide-content">
<svg
class="mobile-menu-icon"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
>
<path
strokeLinecap="round"
strokeLinejoin="round"
strokeWidth="2"
d="M6 18L18 6M6 6l12 12"
></path>
</svg>
</button>
<div id="mobile-menu-panel" class="hide-content">
<div class="mobile-menu-container">
<div class="mobile-menu-wrapper">
<div class="mobile-menu-item">
Home
</div>
<div class="mobile-submenu-wrapper">
<a class="mobile-submenu-item" href="./index.html">
IOCCC Home
</a>
<a class="mobile-submenu-item" href="./years.html">
Winning Entries
</a>
<a class="mobile-submenu-item" href="./authors.html">
People who have won
</a>
<a class="mobile-submenu-item" href="./location.html">
Location of authors
</a>
</div>
</div>
<div class="mobile-menu-wrapper">
<div class="mobile-menu-item">
News
</div>
<div class="mobile-submenu-wrapper">
<a class="mobile-submenu-item" href="./news.html">
IOCCC News
</a>
<a class="mobile-submenu-item" href="./status.html">
Contest status
</a>
<a class="mobile-submenu-item" href="./next/index.html">
Rules and Guidelines
</a>
<a class="mobile-submenu-item" href="./faq.html#submit">
How to enter the IOCCC
</a>
<a class="mobile-submenu-item" href="./faq.html">
FAQ
</a>
</div>
</div>
<div class="mobile-menu-wrapper">
<div class="mobile-menu-item">
Bugs
</div>
<div class="mobile-submenu-wrapper">
<a class="mobile-submenu-item" href="./bugs.html">
Bugs &amp; (mis)features
</a>
<a class="mobile-submenu-item" href="./faq.html#fix_an_entry">
Fixing IOCCC entries
</a>
<a class="mobile-submenu-item" href="./faq.html#fix_web_site">
Fixing the web site
</a>
<a class="mobile-submenu-item" href="./faq.html#fix_author">
Fixing author info
</a>
<a class="mobile-submenu-item" href="./thanks-for-help.html">
Thanks for the help
</a>
</div>
</div>
<div class="mobile-menu-wrapper">
<div class="mobile-menu-item">
Judges
</div>
<div class="mobile-submenu-wrapper">
<a class="mobile-submenu-item" href="./judges.html">
The IOCCC Judges
</a>
<a class="mobile-submenu-item" href="./contact.html">
Contacting the IOCCC
</a>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
var headerOpenMenuButton = document.getElementById("header-open-menu-button");
var headerCloseMenuButton = document.getElementById("header-close-menu-button");
var mobileMenuPanel = document.getElementById("mobile-menu-panel");
headerOpenMenuButton.addEventListener("click", () => {
headerOpenMenuButton.classList.remove("topbar-mobile-menu");
headerOpenMenuButton.classList.add("hide-content");
headerCloseMenuButton.classList.remove("hide-content");
headerCloseMenuButton.classList.add("topbar-mobile-menu");
mobileMenuPanel.classList.remove("hide-content");
mobileMenuPanel.classList.add("topbar-mobile-panel");
});
headerCloseMenuButton.addEventListener("click", () => {
headerCloseMenuButton.classList.remove("topbar-mobile-menu");
headerCloseMenuButton.classList.add("hide-content");
mobileMenuPanel.classList.add("hide-content");
mobileMenuPanel.classList.remove("topbar-mobile-panel");
headerOpenMenuButton.classList.add("topbar-mobile-menu");
headerOpenMenuButton.classList.remove("hide-content");
});
</script>
<!-- END: this line ends content from: inc/topbar.default.html -->
<!-- START: this line starts content from: inc/header.default.html -->
@@ -216,7 +382,7 @@ doesn’t count whitespace in strings differently than whitespace outside of
them.</p>
<h3 id="user-modifiable-features">User-modifiable Features</h3>
<p>The code can be user-modified simply by changing the build command line.
The following symbols are defined in the <a href="Makefile">Makefile</a>:</p>
The following symbols are defined in the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2013/millsMakefile">Makefile</a>:</p>
<ul>
<li><p><code>-DLT=x1,y1,z1,x2,y2,z2,...</code> defines the coordinates of the lights in the
scene. It should be a comma-separated list of coordinates <code>(x, y, z)</code>, three per
@@ -231,7 +397,7 @@ The eye is looking at the origin <code>(0, 0, 0)</code>.</p></li>
experience the server’s output. The Judges suggested that I instead restrict
the bind to <code>INADDR_LOOPBACK</code> to reduce security alarms. As a compliant veteran
of innumerable post-ship late feature additions, I have modified the
<a href="Makefile">Makefile</a> to inject the new code without destroying the beautiful
<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2013/millsMakefile">Makefile</a> to inject the new code without destroying the beautiful
spherical symmetry of the source code. In addition, I have altered the word
<code>sin_port</code> to the more family-friendly version <code>win_port</code> (via
<code>-Dwin_port="sin_addr.s_addr=htonl(2130706433),R.sin_port"</code>) to protect against