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:
1 parent
99cd17401e
commit
97f6da1247
440 files changed
+74125
-6956
No files matched your search
+6
-6
@@ -63,8 +63,8 @@ Or should we teach our youth to understand the intricacies of this code?
|
||||
Ying Tong Iddle I Po! We suggest you read the source for yourself, which
|
||||
might be easier than the academic papers it was inspired by.
|
||||
|
||||
NOTE: Unlike the original entry source, [prog.alt.c](prog.alt.c),
|
||||
[prog.c](prog.c) uses a
|
||||
NOTE: Unlike the original entry source, [prog.alt.c](%%REPO_URL%%/2015/howe/prog.alt.c),
|
||||
[prog.c](%%REPO_URL%%/2015/howe/prog.c) uses a
|
||||
64 bit FNV hash and fixes a function call warning.
|
||||
|
||||
|
||||
@@ -95,7 +95,7 @@ The `-d` option simply writes the edit distance between `file1` and `file2`.
|
||||
The FNV1a hash is a little slow compared to the trivial hash [GNU
|
||||
diff](https://www.gnu.org/software/diffutils/) uses. I downloaded a plain text
|
||||
copy of "War And Peace" from [Project Gutenberg](https://www.gutenberg.org),
|
||||
used [makeholes.c](makeholes.c) to make 1000 random changes, then profiled and
|
||||
used [makeholes.c](%%REPO_URL%%/2015/howe/makeholes.c) to make 1000 random changes, then profiled and
|
||||
timed the program verses GNU `diff(1)`. The bottleneck appears to be in the
|
||||
file I/O and line hashing with an average +0.05s slower. Using a huge file like
|
||||
"War And Peace" for testing offsets the `diff(1)` optimised file I/O.
|
||||
@@ -107,12 +107,12 @@ a region of edits are highly unlikely.
|
||||
|
||||
### Support Files
|
||||
|
||||
* [prog-test.sh](prog-test.sh)
|
||||
* [prog-test.sh](%%REPO_URL%%/2015/howe/prog-test.sh)
|
||||
Basic test program verifies known test edit distances and `patch(1)` support.
|
||||
|
||||
* [avgtime.sh](avgtime.sh)
|
||||
* [avgtime.sh](%%REPO_URL%%/2015/howe/avgtime.sh)
|
||||
|
||||
* [makeholes.c](makeholes.c)
|
||||
* [makeholes.c](%%REPO_URL%%/2015/howe/makeholes.c)
|
||||
Random edits (holes) made to a file in-place.
|
||||
|
||||
### References
|
||||
|
||||
+188
-22
@@ -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 & (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 & (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 & (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 -->
|
||||
|
||||
@@ -183,8 +349,8 @@ during a South Park P.T.A. Meeting?</p>
|
||||
<p>Or should we teach our youth to understand the intricacies of this code?
|
||||
Ying Tong Iddle I Po! We suggest you read the source for yourself, which
|
||||
might be easier than the academic papers it was inspired by.</p>
|
||||
<p>NOTE: Unlike the original entry source, <a href="prog.alt.c">prog.alt.c</a>,
|
||||
<a href="prog.c">prog.c</a> uses a
|
||||
<p>NOTE: Unlike the original entry source, <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2015/howe/prog.alt.c">prog.alt.c</a>,
|
||||
<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2015/howe/prog.c">prog.c</a> uses a
|
||||
64 bit FNV hash and fixes a function call warning.</p>
|
||||
<h2 id="authors-remarks">Author’s remarks:</h2>
|
||||
<h3 id="features">Features</h3>
|
||||
@@ -204,7 +370,7 @@ with <code>patch(1)</code>.</p>
|
||||
<p>The FNV1a hash is a little slow compared to the trivial hash <a href="https://www.gnu.org/software/diffutils/">GNU
|
||||
diff</a> uses. I downloaded a plain text
|
||||
copy of “War And Peace” from <a href="https://www.gutenberg.org">Project Gutenberg</a>,
|
||||
used <a href="makeholes.c">makeholes.c</a> to make 1000 random changes, then profiled and
|
||||
used <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2015/howe/makeholes.c">makeholes.c</a> to make 1000 random changes, then profiled and
|
||||
timed the program verses GNU <code>diff(1)</code>. The bottleneck appears to be in the
|
||||
file I/O and line hashing with an average +0.05s slower. Using a huge file like
|
||||
“War And Peace” for testing offsets the <code>diff(1)</code> optimised file I/O.</p>
|
||||
@@ -213,10 +379,10 @@ very <a href="http://programmers.stackexchange.com/questions/49550/which-hashing
|
||||
a region of edits are highly unlikely.</p>
|
||||
<h3 id="support-files">Support Files</h3>
|
||||
<ul>
|
||||
<li><p><a href="prog-test.sh">prog-test.sh</a>
|
||||
<li><p><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2015/howe/prog-test.sh">prog-test.sh</a>
|
||||
Basic test program verifies known test edit distances and <code>patch(1)</code> support.</p></li>
|
||||
<li><p><a href="avgtime.sh">avgtime.sh</a></p></li>
|
||||
<li><p><a href="makeholes.c">makeholes.c</a>
|
||||
<li><p><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2015/howe/avgtime.sh">avgtime.sh</a></p></li>
|
||||
<li><p><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2015/howe/makeholes.c">makeholes.c</a>
|
||||
Random edits (holes) made to a file in-place.</p></li>
|
||||
</ul>
|
||||
<h3 id="references">References</h3>
|
||||
|
||||
Reference in new issue
Block a user