Originally going to be just a minor 2.1.0 release, as a new menu design and some bug fixes to recently added features, v3 took on a life of its own. It made sense to do an additional overhaul of the internal structure to better support the new design, and to also make it a little more modular and easier to maintain going forward.
New features
Individual tool pages
Each tool, along with remaining available on each main/top-level page, is also now available on their own dedicated page.
Sidebar / Navigation
- Overhauled the primary navigation across the site, replacing the bootstrap offcanvas flyout menu with a left hand expanding sidebar (though a customised offcanvas version of the menu exists for smaller screen devices)
- Sidebar can be expanded by clicking on the hamburger icon next to the sitename
- Clicking the dropdown toggle on a tab will auto-expand to reveal a list of all the child pages
- Child pages now link through to that tool's dedicated page, instead of scrolling to its position (goodbye scroll issues)
- Closing the menu will close all open tabs
- Added new icons for each of the primary sections (these will be improved upon in future)
- Re-arranged order of items in the menu
Pagingation
- Added "Jump to first page" and "Jump to last page" pagination links
Changes
- Moved the footer inside the main content area
- Minor improvement to the 404 message text
- On element conversion, changed the default "Convert from" to Atomic number, matching the example in the description
- Reduced the previous page number count down to 1, so there's more space and hopefully helps prevent pagination from breaking out of page boundaries
- On mobile, hide the Next/Previous text in favor of simple ASCII arrows ⇦
⇦
and ⇨⇨
- Removed scrolling from the root HTML element and focused it on the
<main>
content area - Switched Sitemap to a masonary layout, to neaten it up a little
- Add page links to sitemap headers
- Removed sitemap link from the footer, as it's now visually accessible from the sidebar
- Various changes and improvements made to text, link and button colors for accessibility
- Added an extra setting to Select All function to allow trimming values before copying, so we get rid of extra white space at the start and end
Bug fixes
- Fixed some issues with keyword encode/decode, where the custom generated alphabet wouldn't always be reliable and provide inaccurate results
- Fixed the potential for screen flickering to occur in Dark mode when moving between pages
- Fixed issue with various results areas, where long text strings could break out of the page
- Fixed alignments / spacing on Text tools options for mobile
- Added a font size class when toggling between Braille conversion modes, so that braille to text doesn't change to huge text
Behind the scenes changes
This is a list of more technical and non-front facing changes made to the site
BTS - New features
- Added dynamic(-ish) import for JS files on all Pages, this way when the pages are included in the main landing page, they'll all come with the necessary functionality
BTS - Changes
- Moved pagination into its own separate component file, so it can be re-used elsewhere
- Updated Bootstrap core js to 5.3.3
- Created individual mjs files for each tool event and functions
- Reduced the number of scripts loaded on a each page, additionally only loading in the scripts and functions necessary for that tool
- Updated all scripts to output functions to the window object, making them web console accessible/usable
- Cleaned up Braille conversion function with some tidier code changes
- Set "braille" to be the default mode so it doesn't need to be explicitly passed
- Moved Changelog files to sub-folder
BTS - Bug fixes
- Fixed issue with tag filter where it had the potential to expose other site assets/pages
- Fixed some sass compiler warnings