Releases: eecs485staff/primer-spec
v1.5.2+fa21
Nothing too fancy in this release! This patch update for the Fall 2021 semester fixes an issue with print-previews on mobile devices (#124), and also includes a few housekeeping updates.
v1.5.1+ss21
This patch update to the Spring/Summer 2021 release adds a neutral
variant callout. See the callout demo at https://eecs485staff.github.io/primer-spec/demo/callouts.html#neutral.
v1.5.0+ss21
It's Spring again! 🍃💐🌳 And the Spring/Summer 2021 release brings several fresh new features too.
Callouts 💬
Use these colored boxes to highlight important information on your pages. Here's a screenshot from the demo page:
Check out the demo for more information: https://eecs485staff.github.io/primer-spec/demo/callouts.html
Sitemap 📁
Primer Spec was designed for specs that consist of a single long page. But what if your spec contains several long pages that are all related?
Primer Spec can automagically generate a Sitemap for your site and display it in the sidebar! The main page would contain links to other subpages in your website:
See the Advanced Usage docs to set up a Sitemap for your spec.
Huge thanks to @bellakiminsun for helping design this feature over several iterations 🙏
Redesigned theme selector
The old theme selector was functional, but not aesthetic. The theme selector now looks greatly improved, with many thanks to @bellakiminsun for the design 😃
Other enhancements
- Task lists sync across browser tabs!
If you have multiple tabs with the same spec page open, Primer Spec keeps the task-list checkboxes in sync! (#116) - "Bug fixes and performance improvements"
v1.4.2+wn21
This patch release for the Winter 2021 semester updates the Google Analytics snippet to support the new gtag.js
format. (See #121 for details.)
v1.4.1+wn21
This patch release for the Winter 2021 semester removes vertical scrollbars for Sidebar ToC items (as reported in #100, fixed by #101). Thanks @jkloosterman and @awdeorio for your help with this release 😃
Typically, changes to CSS stylesheets should be classified as minor releases (see notes on Backwards Compatibility). However, I decided to classify it as a patch release since the fix does not greatly change the appearance of sites built on v1.4.0.
v1.4.0+wn21
The past few months have been pretty exciting for Primer Spec — two more EECS courses adopted Primer Spec (EECS 183 and EECS 441). The project also received its first PR from a fork — thanks for your contributions, @bjthompson805! In addition to implementing several enhancements and optimizations, I had a chance to write some documentation about how Primer Spec works — check out the Dev README if you're interested.
This Winter 2021 minor release packs a bunch of new features:
-
Accessibility (A11y) improvements ⚡ ⌨️
- Primer Spec sites are now better optimized for screen-readers (often used by people with vision impairments). If you've never used a screen-reader before, you should give it a try! It was a humbling experience for me and helped me empathize a bit better with screen-reader-users. See #70 for the technical details.
- A side-effect of #70 was that it made it easier to tab your way through specs. This is critical for screen-readers, but it also helps you if you're a power-user like @awdeorio who tries not to use the computer mouse 😉
-
Interactive task lists! ☑️
Did you know you can include task lists in your Markdown specs? Thanks to #72, students can now interact with the checkboxes in task lists to help them keep track of their progress. Primer Spec even persists the checkbox state! -
Favicons 🖼️
Specify a favicon in your_config.yml
to apply it to all Primer Spec pages in your site. Check out the advanced usage docs. (#79) -
Other enhancements 🛠️
- Remember if viewers hide or show the Sidebar between reloads. (#76, thanks @bjthompson805!)
- On mobile, close the Sidebar if the user clicks any item. (#77, thanks @bjthompson805!)
- Correctly style inline-code in headings. (#80)
- Prevent long headings from increasing the Sidebar's width. (#84)
- Remember the scroll-position of the Sidebar on small screens. (#85)
- Hide unnecessary scroll bars in Windows. (#86, thanks @sbeinlich and @jadchaar!)
- Modify the default dark theme to more closely match GitHub’s own dark theme colors. (#95)
v1.3.1+fa20
This patch for the Fall 2020 release fixes two issues:
-
If a user scrolls to the last section in a page, the Sidebar item for the last section would not be highlighted. This has now been fixed. (#68)
-
If a page uses task-lists, the checkboxes render with bullets when they really shouldn't! The styles for task-lists seem to be missing from the public Primer CSS styles, so this release adds styles to render task-lists correctly. Thanks @zpapanas for highlighting this issue! (#68)
v1.3.0+fa20
While the Spring/Summer 2020 releases included exciting visual updates, the Fall 2020 release features massive changes under-the-hood. Viewers of Primer Spec sites may notice that the site loads faster and just "feels" snappier ✨ — that's because Primer Spec's dynamic scripts were almost entirely rewritten using Preact (#63), a tiny React-inspired framework that also optimizes CPU-intensive page-manipulation.
Besides this ginormous refactor, v1.3.0 adds a bunch of other neat features for courses using the Primer Spec theme:
-
Configuration Options! ⚙️
Does your site have pages that are small with so few headings that a Sidebar doesn't really make sense? Now you can disable the Sidebar on those pages! You can even set a default subtheme for your site, or default to a wide-screen view. Have a look at the new page/site configuration options in the Advanced Usage docs. -
Better usage docs 📝
GitHub Pages uses certain Jekyll plugins by default that makes working with MarkDown files much nicer. The Usage docs now [strongly] recommend enabling those plugins and configuration options. The instructions to preview your site locally have also been updated. -
MathJax 3 🔢
v1.2.1 introduced LaTeX rendering via MathJax 2. Now that Jekyll 3.9.0 (which GitHub Pages uses) outputs LaTeX in a format compatible with MathJax 3 by default, we updated our MathJax dependencies to work with it. (#53, #55, #63) -
Other fixes: 🛠️
-
If a heading on a page had the title "Contents", the corresponding link in the Sidebar would not scroll to this section — this is because its ID conflicted with a heading in the Primer Spec Sidebar's table of contents. This is unfair competition — we renamed our header so you don't have to rename yours 😉 (#67)
-
3D layering is hard. The Topbar appeared on top of the main content, but LaTeX expressions were somehow exceptions...? And the Sidebar appeared on top of the Topbar on small screens, but not on large screens? 😓
If your head hurts, so did ours! We fixed the 3D layers for good, and hopefully it's all more consistent now. (#54)
-
v1.2.1+ss20
This update to the Spring/Summer 2020 release adds opt-in support for rendering LaTeX mathematical expressions on the page (#52). Simply add the option to any page's "front-matter". See the "Advanced Usage" docs for details.
v1.2.0+ss20
The Spring/Summer 2020 release contains a number of exciting updates:
- DARK MODE! (#49)
- Every subtheme now has light and dark variants. The variant can be toggled in the settings pane.
- By default, Primer Spec chooses whether to display the light or dark variant based on the system settings. (This means that if your computer switches between light and dark mode automatically, so will Primer Spec!)
- Backwards compatibility & stability
- Primer Spec now comes with an additional stability guarantee: Sites built with a specific version of Primer Spec will always look visually similar. See #48 for the details.
- Other enhancements
- The
default
subtheme was... a bit of an eyesore compared to the other subthemes. With a bit of love and a cleaner shade of yellow, it looks a lot prettier now. 😃 (#47) - The settings pane looked weird when the sidebar was collapsed. Now it looks better. (#44)
- Subthemes are now embedded in the JavaScript on page load. This means users can switch subthemes without an Internet connection! (#35)
- Primer Spec didn't build correctly if a Jekyll site was not in a GitHub repo. Primer Spec should now work with any site! (#29, #26)
- The