Making the <cite> tag sane
no dependencies

Simple citations is a script to generate a list of citations from citations within the the article. Each citation uses the under-utilized <cite><cite> tag. It can even detect duplicate citings as long as the URL is the same. Each <cite> tag requires a data-date, data-title, and date-source. Somewhere in the article you will a blank <div><div> with an identifer (class or ID) for the list of sources to be stashed in. I realize there's far more robust plugins for this, but I wanted something light-weight and easy to manage.

Internet Explorer: A Brief History

Internet Explorer (IE) was first released as part of the Plus! add-on package for Windows 95, and then freely available via services packs or downloads, then later bundled in Windows 95 OEM copies with PCs. This tactic was exceptionally effective, as its chief competitor Netscape Navigator (which constituted roughly 80% of the market) was not free and depended on the revenue it generated. Microsoft also emphasized providing a superior experience. Netscape Communicator began earning the reputation as buggy and bloated whereas Microsoft was outpacing Netscape. Internet Explorer 3 was the first browser with CSS support and added features like Java applets, iframes, ActiveX. Microsoft also created the Javascript feature, XMLHttpRequest (shipping it with IE5 in 1999) allowing for data real-time data transfer (the technology powering AJAX), paving the way for modern web applications.

1998 was the year of Internet Explorer as several key developments happened:

Despite the legal hurdles, all the reasons mentioned above lead to the inevitable rise of IE, as it was the default web browser for Windows, hitting roughly 95% of the browser market in 2001 with Internet Explorer 6. This would be the high watermark for Microsoft. Microsoft would not release a major update to Internet Explorer for five years.

Despite the nearly impossible odds, a collection of developers created the Mozilla Organization open source foundation based on the Netscape codebase, and began updating and improving it, called the Mozilla Suite (an all-in-one browser/e-mail client), paying particular attention to standards, accessibility, and cross-platform ports. In 2002, a stripped down fork of the Mozilla Suite, Phoenix a none-too-subtle reference to Netscape, kicking off what would be referred to as the Second Browser War. Phoenix would later change its name to FireBird after a trademark dispute in 2003 and ultimately landed on FireFox in 2004. The success of FireFox hinged on providing a superior experience with novel features such as popularizing tabbed browsing, pop-up blocking, privacy mode, phishing protection, frequent incremental updates, built-in search bar, easily installed plugins, theming, cross-platform support, adherence to open standards, speed and security.

Also adding to the mix, a rejuvenated Apple entered the fray in 2002, forking the Linux browser Konqueror's codebase, KHTML, naming its open-source project Webkit. Apple released the beta it's WebKit based browser, Safari for download shortly after. Free from its contract with Microsoft, Apple began bundling it with Mac OS X 10.3. Microsoft curtly discontinued Internet Explorer for Mac OS X, again doubling down on its five-year hiatus from any new Internet Explorer updates. Internet Explorer would never be ported to any Mac operating system again.

Despite the competition and lack of engagement, Internet Explorer still maintained a healthy market dominance, controlling roughly 70% for most of the decade with FireFox as its chief competitor.

In 2007, Apple released the iPhone which sported a first for a phone: Safari, a fully functional web browser, earning the Microsoft's CEO Steve Balmer would famously laugh at the iPhone. Microsoft's Windows Phone failed even to capture a fraction of the market, effectively stranding Internet Explorer as a desktop only browser.

Adding insult to injury, it took Microsoft roughly two and half years to release Internet Explorer 8, after 7. A lot had changed between the years of mid-2006 and 2009.

In 2010, Google started heavily marketing it's Google Chrome browser. Google's Chrome browser was initially based off of Webkit (later be forked in 2013, naming its engine Blink and its open-source version called Chromium) wrestling market dominance away from Microsoft in two short years, something FireFox was never able to do.

Finally, after suffering for years, Microsoft went back to the drawing board and re-engineered Internet Explorer, removing legacy support and reworking its rendering engine. By most intents and purposes, Edge was a capable browser often boasting reaching compatibility milestones before some of its competitors but failed to be embraced by users and still had a reputation of being a laggard.

Not all web browsers are created equal.

The by-product of the browser wars was creating bodies such as the Internet Society (ISOC) in 1992, World Wide Web Consortium (W3C) in 1994, Web Hypertext Application Technology Working Group (WHATWG) in 2004. These bodies helped outline the functionality requirements of a web browser. The collaborative nature of open-standards allowed the internet as we know it to exist, and more importantly, evolve.

Also as public exposure to the internet increased, so did the general public's understanding of how the internet worked. A vast bulk of users became aware a web browser affects one's experience, even if only acutely so. Web browsers are surprisingly complex as they must interpret multiple sets of core-technologies: HTML, CSS, Javascript, a diverse range of media (images, video, audio, fonts) and APIs like Canvas, Microdata, Cookies/Web Storage, Geolocation, Web Cryptography, WebRTC, WebGL and so on.

A browser's ability to perform all these tasks, support the latest and greatest meanwhile providing security and stability has been a monumental challenge.

Internet Explorer's meteoric rise was in part that early versions of Internet Explorer were as good and arguably better than its competition and it's fall entirely hinged Microsoft's wanton disregard for keeping up with the evolving standards or improving its user experience.

Cross-Browser Compatibility

With Internet Explorer's infrequent updates, it became the bane of both developers and ordinary users. Internet Explorer earned a well-deserved reputation for being developer unfriendly, for a myriad of problems:

  1. Tying browser updates to the Operating System - It's hard to overstate how big of a problem this became. Users often clung to outdated versions of Windows such as Windows XP and often refusing to update to the latest service packs.
  2. Poor developer tools - Internet Explorer didn't have a sensible "inspect element" although IE11 made this considerably better. It also was buggy, failing to allow live changes in earlier versions, and has arbitrary limitations. It was impossible to have more than one version of Internet Explorer on Windows. IE11 introduced emulation modes that were inconsistent.
  3. Glacial adoptions of standards - IE infamously did not support CSS graphic-effects like rounded corners until 2011 (whereas it's competitors had this as early as 2006). It did not support javascript commands like querySelector until 2011 whereas Safari and Firefox supported this in 2008/2009 ).
  4. Proprietary Technology/Non-standard implementations - Microsoft forwarded a poor choices, such as ActiveX, VML, HTML+TIME
  5. Available only on Windows - web developers embraced *nix based operating systems like Linux variants or Mac OS X (Unix) making testing a hassle, depending on annoying solutions.
  6. Security risks - Some of the blame for IE's security can be blamed squarely on Microsoft (Active X was a security nightmare) and some for being the most popular browser on the most popular OS. Bugs are inevitable. Patches are too. Microsoft's slow response could have been improved.

Both Internet Explorer and Edge have been and still are pain points. This is especially felt in projects that cater to user-bases with disproportionately high usage of Internet Explorer or Edge, such as corporate environment, certain foreign markets, or niche demographics.

This placed a lot of additional testing and development on Internet Explorer and gave rise to a host of solutions like jQuery, Modernizr, HeadJS, and various "shims" or polyfills to either bring like-functionality across browsers or directly to Internet Explorer.

Worse, as the web development community moved towards developers favoring *nix operating systems (macOS and Linux variants) it meant testing Internet Explorer became increasingly cumbersome without a way natively test it. Since Internet Explorer commanded a sizable portion of the market share, developers were at the mercy of Microsoft. Even in mid-2012, when Google Chrome surpassed Internet Explorer as the most popular browser, it still commanded roughly 1/3 of the market.