Control the aesthetics and improve the navigability of HTML ietf.org RFC and Draft docs. Optional automatic redirects from TXT docs.
The primary results of the adjustments are:
• An improved look and feel to the page, making it easier to read.
• A fixed position Table of Contents is created in the top-right corner.
• The color coded legend hidden in the page becomes more easily accessible.
The styling is mostly color oriented but includes:
• Setting the monospace font to one of your choice from a selection of common or Google Web fonts. Due to the formatting of ietf.org RFC and Draft docs, a monospace font is essential for legibility.
• Optional (enabled by default) removal of chunks of white space and "page separators" featured as headers and footers when printing the documents.
Other adjustments include:
• A color coded legend that is present in all HTML RFC pages is made more accessible by the addition of some new HTML, styling, and scripting. Its accesskey is "L" and can also be accessed with a click or tap.
• When viewing an ietf.org plain text or HTML RFC or Draft; left clicking the RFCRestyle extension icon will usher forth the options pop-up. This pop-up includes all the controls for setting the options using native Chrome form inputs. Changes to the options are saved automatically.
• Up to 5 separate, fully customisable profiles, each with its own unique settings, may be stored for immediate access. The last used profile will be used when next visiting an RFC or Draft. Changes made to the settings of one profile will not affect the settings in other profiles.
• Settings can be optionally (disabled by default) set to "sync" across all instances of Chrome the user is logged in to (if the user also has Chrome's sync enabled). Unlike all other settings, this is a global option that affects every profile; it's all-or-nothing! When unchecking the option, synced data will be cleared but the henceforth unsynchronised profiles will remain stored on the local machines previously synced.
NOTE REGARDING PRINTING:
Due to the multiple changes made to the styling and structure of the affected documents; before printing any document, uncheck the "Restyle" option to temporarily revert to the document's default state, then re-enable the option when finished.
All aspects of the extension have been built with accessibility in mind, and no features should be hard to use for anyone. Keyboard and mouse access has been well tested but touch screen access hasn't (although it should be fine).
This extension does not collect or process any personal data or communicate its activity with any external application. Settings are stored locally or optionally synced. If the option to sync the settings to all instances of Chrome the user is logged in to is checked, the settings will be shared with other devices where the user has Chrome's sync enabled, opens Chrome and logs in to their account.
OPEN SOURCE & COPYLEFT LICENSED:
The entire GNU GPL v3.0 licensed extension code and other files can be found on GitHub at https://github.com/FredGandt/RFCRestyle
CHANGE LOG (latest first):
• December 11, 2018 - Version 2.0.8
• December 10, 2018 - Version 2.0.7
· Fixed more problems with the ToC, improved its layout a little with indention to match each links descendancy and cleaned up some other code while doing that.
· Almost added a "Minimised scrollbars" option but Chrome gets it wrong until the tab is refreshed or navigated. If I can find a workaround, I'll add the option later.
· Unless I notice something else I've done wrong or receive inducing feedback, this should be the last update for a while :)
• December 9, 2018 - Version 2.0.6
· Fixed Chrome sync issues and removed a little inefficiency along the way.
• December 6, 2018 - Version 2.0.5
· Fixed Table of Contents (ToC) links.
• December 6, 2018 - Version 2.0.4
· Fixed the accidental removal of an important space character during manual minification.
• December 6, 2018 - Version 2.0.3
· Altered the processing order to cure the unsightly flash of the temporarily unstyled ToC on long pages; now much smoother loading.
· Improved the minification a bit.
· Fixed a couple of minor errors.
• December 5, 2018 - Version 2.0.2
· A couple of little tweaks to the page CSS to fix an unusual but potential conflict of browser behaviours; to wrap or not to wrap - that is the question.
• December 4, 2018 - Version 2.0.1 - NOTE
· After the last update went live, I checked to ensure it was functioning correctly and was surprised by severe display errors caused by corrupted CSS. Due to every extension, including extensions in development, having a unique ID, I cannot replicate the issue without reuploading the old version with a higher version number, waiting for it to go live, using it, then reuploading the new version with an even higher number, waiting for that to go live and testing again to gather processing data. This switching between versions would require repeating several times I suspect and as a debugging process would be massively disruptive. I see no way around it and unfortunately therefore will have to just let it be. The new version works perfectly and should transition smoothly, basing it's configuration on users' current settings, but something definitely went wrong ... I just have no idea what as I cannot replicate the update (the unique ID problem) on my local machine.
· I sincerely apologise to any users who similarly see display errors when the update arrives for them. I made a great deal of effort to ensure there would be no transitional errors just like those I saw, but clearly failed. I hope you'll try uninstalling and reinstalling the extension to correct the problem.
· Let's hope I get it right next time! :)
• December 4, 2018 - Version 2.0.1
· Realised a small error when rewriting the above notes for this version and made the change; moved a tooltip in the popup.
• December 4, 2018 - Version 2.0 \o/
· This is a big update with many changes/improvements;
· Much better optimization:
· · the background page is no longer persistently active - reducing system resource usage (although, on a per session basis, if the popup is used, background.js remains activated (to be fixed)).
· Addition of the ability to store multiple unique profiles (e.g. a dark one for night time might be nice).
· Added the option to sync the settings across all instances of Chrome the user is logged in to.
· Changed the way colors are set, from RGB sliders to HTML5 color inputs that utilise Chrome's native color-picker UI.
· Made it possible to select from a list of monospace fonts.
· Made efforts to improve the accessibility of the ToC and Legend.
· Managed to keep the overall size of the extension from bloating badly with all the additional options by the hard won application of extreme minification.
· As far as I can tell, this should be a smooth transition, with no user actually noticing any change in functionality unless they open the popup. As always, I check for support requests every day.
• July 25, 2018 - Version 18.104.22.168
· Added a few CSS rules to fix the width of an element at the top of all RFCs, that on some can be wider than the rest of the text, unwelcomely pushing the whole page body of center.
• July 22, 2018 - Version 22.214.171.124
· A few minor improvements to the code while working to create an unminified package to publish somewhere for open-source use.
• August 18, 2017 - Version 126.96.36.199
· Bug fix; thanks to user feedback via the "support" tab on the webstore listing :-)
• May 6, 2017 - Version 188.8.131.52
· Fixed inability to disable auto redirect from TXT to HTML docs.
• April 30, 2017 - Version 184.108.40.206
· Updated icons, fixed an encoding issue to allow more efficient execution and thereby reduced the extension weight a bit more.
• April 28, 2017 - Version 220.127.116.11
· Corrected URL matching to included edge cases.
· Discovered another type of document and will add functionality to handle it sometime later.
• April 27, 2017 - Version 18.104.22.168
· Added optional automatic redirection from plain text RFCs and Drafts to their HTML versions.
· Further minified and optimised all the code and markup to improve performance and reduce "weight".
· Now only works with secure connections (all ietf.org RFCs and Drafts are forced secure now).
• April 23, 2017 - Version 22.214.171.124
· A little minification, added and corrected some logic.
• April 23, 2017 - Version 126.96.36.199
· Added setting to toggle between the default multi-page layout, and a continuous layout with reduced whitespace and no visible page headers or footers.
• April 21, 2017 - Version 188.8.131.52
· Tiny accessibility fix.
• April 20, 2017 - Version 184.108.40.206
· Fixed several issues caused by resizing the font.
• April 19, 2017 - Version 220.127.116.11
· Added ability to change the overall font size for the RFCs, and have various UI elements alter their size to match. Size adjusted by slider.
• April 16, 2016 - Version 18.104.22.168
· Changed "offline_enabled" (in the manifest) to "false" as this is a contentious issue, and removed documentation disclaimer about the contention.
• June 28, 2015 - Version 22.214.171.124
· A few changes to the CSS to compensate for changes made to the markup. Please let me know if you see anything unpleasant.
• March 9, 2015 - Version 126.96.36.199
· Minor CSS improvements.
• July 29, 2014 - Version 188.8.131.52
· A change in the way Chrome handles "change" events triggered by "range" type inputs (the sliders) broke the desired behaviour, so I've added an "input" listener.
· I'm considering a more major update to include a user request and generally improve the code, but it seems to be working okay at the minute.
• April 18, 2014 - Version 184.108.40.206
· Fixed insecure request for Inconsolata support from Google Web Fonts. Previously requested via "http://". Now requested via "https://" as it should always have been :-/
• February 26, 2014 - Version 220.127.116.11
· Very minor change to CSS (styling) of the TOC (table of contents) heading.
• June 8, 2013 - Version 18.104.22.168
· By request, changed URL matching to include drafts. Previously only acted on *://tools.ietf.org/html/rfc*. Now acts on (example) ...html/draft* AND ...html/rfc*