Author: hhubner Date: Fri Feb 1 07:01:51 2008 New Revision: 2437
Modified: branches/trunk-reorg/projects/quickhoney/website/static/javascript.js branches/trunk-reorg/projects/quickhoney/website/static/styles.css branches/trunk-reorg/projects/quickhoney/website/templates/index.xml Log: Fix navigation - This was very simple, and I really regret that using achors to store navigation information had not occured to me two years ago. One can now deep link into the Quickhoney site, a feature that is used by the RSS feed. Also, inner-site navigation updates the anchor now, making it possible to store links to anything.
Modified: branches/trunk-reorg/projects/quickhoney/website/static/javascript.js ============================================================================== --- branches/trunk-reorg/projects/quickhoney/website/static/javascript.js (original) +++ branches/trunk-reorg/projects/quickhoney/website/static/javascript.js Fri Feb 1 07:01:51 2008 @@ -531,14 +531,14 @@
if (current_directory) { if (current_subdirectory) { - path_links[0] = '<a href="#" onclick="show_page(' + "'" + current_directory + "'" + ');">' + current_directory + '</a>'; + path_links[0] = '<a href="#' + current_directory + '" onclick="show_page(' + "'" + current_directory + "'" + ');">' + current_directory + '</a>'; } else { path_links[0] = current_directory; } } if (current_subdirectory) { if (current_image) { - path_links[1] = '<a href="#" onclick="subdirectory(' + "'" + current_subdirectory + "'" + ');">' + current_subdirectory + '</a>'; + path_links[1] = '<a href="#' + current_directory + "/" + current_subdirectory + '" onclick="subdirectory(' + "'" + current_subdirectory + "'" + ');">' + current_subdirectory + '</a>'; } else { path_links[1] = current_subdirectory; } @@ -646,6 +646,7 @@ } else { buttons[i].style.visibility = 'hidden'; buttons[i].src = new_image; + buttons[i].parentNode.href = '#' + current_directory + '/' + subdirectory_name; eval("button_links[i].onclick = function onclick(event) { subdirectory('" + subdirectory_name + "'); }"); } } @@ -734,13 +735,16 @@
if (query_result_pages.length > 1) { if (current_page > 0) { - push(result_links, '<a href="#" onclick="goto_page(' + (current_page - 1) + ');"><<</a>'); + push(result_links, + '<a href="#' + current_directory + '/' + current_subdirectory + '/' + (current_page - 1) + + '" onclick="goto_page(' + (current_page - 1) + ');"><<</a>'); } else { push(result_links, '<<'); } var last_page = position_to_page(query_result.length - 1); if (current_page < last_page) { - push(result_links, '<a href="#" onclick="goto_page(' + (current_page + 1).toString() + ');">>></a>'); + push(result_links, '<a href="#' + current_directory + '/' + current_subdirectory + '/' + (current_page + 1).toString() + + '" onclick="goto_page(' + (current_page + 1).toString() + ');">>></a>'); } else { push(result_links, '>>'); } @@ -764,7 +768,8 @@ if (page_number == current_page) { push(result_links, (page_number + 1).toString()); } else { - push(result_links, '<a href="#" onclick="goto_page(' + page_number + ');">' + (page_number + 1) + '</a>'); + push(result_links, '<a href="#' + current_directory + '/' + current_subdirectory + '/' + (current_page + 1).toString() + + '" onclick="goto_page(' + page_number + ');">' + (page_number + 1) + '</a>'); } }
@@ -795,7 +800,9 @@ for (var image_index = 2; image_index < row.length; image_index++) { var image = row[image_index]; thumbnail_html - += '<a href="#" onclick="display_image(' + "'" + image.position + "'" + ');">' + += '<a href="#' + + current_directory + '/' + current_subdirectory + '/' + image.name + + '" onclick="display_image(' + "'" + image.position + "'" + ');">' + '<img class="inherited_image" width="' + cell_width + '" height="' + cell_height + '" ' + ' src="/image/' + image.name + '/cell,' + background_color + ',' + cell_width + ',' + cell_height + ',8" ' + ' onload="reveal_image(this);" />' @@ -813,15 +820,20 @@ var result_links = [];
if (query_position > 0) { - push(result_links, '<a href="#" onclick="display_image(' + (query_position - 1) + ');"><<</a>'); + push(result_links, '<a href="#' + + current_directory + '/' + current_subdirectory + '/' + query_result[query_position - 1].name + + '" onclick="display_image(' + (query_position - 1) + ');"><<</a>'); } else { push(result_links, '<<'); } if (query_position < (query_result.length - 1)) { - push(result_links, '<a href="#" onclick="display_image(' + (query_position + 1) + ');">>></a>'); + push(result_links, '<a href="#' + + current_directory + '/' + current_subdirectory + '/' + query_result[query_position + 1].name + + '" onclick="display_image(' + (query_position + 1) + ');">>></a>'); } else { push(result_links, '>>'); } + document.getElementById('back_to_results_link').href = '#' + current_directory + '/' + current_subdirectory + '/' + position_to_page(query_position);
document.getElementById("image_navbar").innerHTML = result_links.join(" "); document.getElementById("result_image_count").innerHTML = "result " + (query_position + 1) + " of " + query_result.length; @@ -1012,37 +1024,35 @@ }
function init() { - if (document.location.href.indexOf("#debug") != -1) { - want_debugger = true; + var path = (document.location.href + "#").split("#")[1]; + + if (path) { + if (path == "debug") { + + want_debugger = true; - document.getElementById("debugger").style.visibility = 'visible'; - document.getElementById("debugger").style.left = '730px'; - document.getElementById("debugger").style.width = '400px'; - document.getElementById("debugger").style.heigth = '640px'; - } else { - document.getElementById("debugger").style.left = "1px"; - document.getElementById("debugger").style.right = "1px"; - document.getElementById("debugger").style.width = "1px"; - document.getElementById("debugger").style.height = "1px"; - } + document.getElementById("debugger").style.visibility = 'visible'; + document.getElementById("debugger").style.left = '730px'; + document.getElementById("debugger").style.width = '400px'; + document.getElementById("debugger").style.heigth = '640px';
- debug('init - path is ', document.location.href); + } else if (path == "update") {
- if (document.location.href.indexOf("#update") != -1) { - if ((navigator.platform == "MacPPC") && (navigator.userAgent.indexOf("MSIE 5.") != -1)) { - alert("CMS functionality not supported on IE5/Mac"); + if ((navigator.platform == "MacPPC") && (navigator.userAgent.indexOf("MSIE 5.") != -1)) { + alert("CMS functionality not supported on IE5/Mac"); + } else { + wants_cms = true; + document.getElementById("login_form").style.visibility = 'visible'; + } + show_cms_window("login_form"); } else { - wants_cms = true; - document.getElementById("login_form").style.visibility = 'visible'; + var jump_to = path; + jump_to = jump_to.replace(/[&#].*/, ""); + document.jump_to = jump_to; } - show_cms_window("login_form"); }
- if (document.location.href.indexOf("jumpto=") != -1) { - var jump_to = document.location.href.replace(/.*jumpto=/, ""); - jump_to = jump_to.replace(/[&#].*/, ""); - document.jump_to = jump_to; - } + debug('init - path is ', path);
buttons = document.getElementById("directory").getElementsByTagName('img'); button_links = document.getElementById("directory").getElementsByTagName('a');
Modified: branches/trunk-reorg/projects/quickhoney/website/static/styles.css ============================================================================== --- branches/trunk-reorg/projects/quickhoney/website/static/styles.css (original) +++ branches/trunk-reorg/projects/quickhoney/website/static/styles.css Fri Feb 1 07:01:51 2008 @@ -69,10 +69,10 @@ #debugger { visibility: hidden; position: absolute; - left: 0px; - top: 36px; - width: 0px; - height: 0px; + left: 1px; + top: 1px; + width: 1px; + height: 1px; }
.debugger {
Modified: branches/trunk-reorg/projects/quickhoney/website/templates/index.xml ============================================================================== --- branches/trunk-reorg/projects/quickhoney/website/templates/index.xml (original) +++ branches/trunk-reorg/projects/quickhoney/website/templates/index.xml Fri Feb 1 07:01:51 2008 @@ -15,22 +15,22 @@
<body id="quickhoney">
- <a onclick="show_page('quickhoney')" href="#"> + <a onclick="show_page('quickhoney')" href="#quickhoney"> <img alt="quickhoney" class="menu" id="m_quickhoney" src="/image/quickhoney" /> </a> - <a onclick="show_page('pixel')" href="#"> + <a onclick="show_page('pixel')" href="#pixel"> <img alt="pixel" class="menu" id="m_pixel" src="/image/pixel" /> </a> - <a onclick="show_page('vector')" href="#"> + <a onclick="show_page('vector')" href="#vector"> <img alt="vector" class="menu" id="m_vector" src="/image/vector" /> </a> - <a onclick="show_page('photo')" href="#"> + <a onclick="show_page('photo')" href="#photo"> <img alt="photo" class="menu" id="m_photo" src="/image/photo" /> </a> - <a onclick="show_page('clients')" href="#"> + <a onclick="show_page('clients')" href="#clients"> <img alt="clients" class="menu" id="m_clients" src="/image/clients" /> </a> - <a onclick="show_page('contact')" href="#"> + <a onclick="show_page('contact')" href="#contact"> <img alt="contact" class="menu" id="m_contact" src="/image/contact" /> </a>
@@ -81,7 +81,7 @@ </span> <span id="results_navbar" class="text"> - <span id="back_to_results"><a onclick="back_to_results()" href="#">back to results</a></span> + <span id="back_to_results"><a id="back_to_results_link" onclick="back_to_results()" href="#">back to results</a></span> <span id="result_image_count"> <!-- may not be empty --> </span> </span> @@ -95,7 +95,7 @@ </div> <div id="clients"> - <a href="#" onclick="return nice_jobs();"> + <a href="#clients/nicejobs" onclick="return nice_jobs();"> <img id="jobs-banner" src="/random-image/button/jobs" border="0" /> </a> <img id="clients-type" src="/image/type-niceclients" />