Releases: hydecorp/hydejack
v9.1.1
- Added tooltips to post subtitles and last-modified-at lines.
- Added tooltips to abberavations (
<abbr>
tags) - Added tooltips to social media icons (inside main column only)
- Fixed KaTeX font rendering
- [PRO] Setting
clap_button: false
will hide the clap button preview, even in development - [PRO] A overscrolling ToC will scroll itself to keep the active element in view.
v9.1.0
Version 9.1 provides minor design changes, new features, and closes multiple issues:
Added
-
Code blocks now can have headers:
// file: 'hello-world.js' console.log('Hello World!');
To add the headers, simply make the first line a comment of the form
file: "dir/filename.ext"
.- Code blocks now have a copy-to-clipboard button
-
Resumes can now have download buttons.
Add the following to the front matter. Note that the PDF needs to be pre-generated.
See the docs for more.# file: "resume.md" buttons: print: true pdf: /assets/Resume.pdf vcf: http://h2vx.com/vcf/<!--url--> json: /assets/resume.json
-
Added breadcrumbs above page title:
Note that this requires a directory-like URL pattern like
/blog/:categories/:year-:month-:day-:title/
(default for Hydejack).Disable with
hydejack.no_breadcrumbs
. -
Added "Last modified at" to post layout:
To enable this feature, the post needs to have a
last_modified_at
property with a valid date. You can either set it manually in the frontmatter (not recommended), or use thejekyll-last-modified-at
plugin to set it for you (Not available on GitHub Pages!).You can remove this element by setting
hide_last_modified
in the front matter. You can disable it for all posts by settinghydejack.hide_last_modified
in the config file. Settinghydejack.hide_dates
(PRO version only) will also remove it, together with all other time-related UI elements.You can customize the hover text, icon, and date format in
_data/strings.yml
using the following keys:last_modified_at
(hover text),last_modified_at_icon
(icon name, default:icon-history
) anddate_formats.last_modified_at
(date format, default:%Y-%m-%d
). -
Added option to "invert" / darken the font colors in the sidebar. This enables use of bright sidebar images.
Setinvert_sidebar: true
in the font matter to enable. Usedefaults
in the config file to enable this for all pages. -
Added a demo of Clap Button during development.
-
Added option to configure border radius
-
Added dingbat to
page
layout -
Added
plain
layout that comes without a dingbat -
Added
smaller
andlarger
CSS classes that set the font size to the respective values. -
Added options to change the file paths to favicon and apple touch icon in the confog file. Use
favicon
andapple_touch_icon
respectively.
Changed
- Added border radius to many elements
- Modernized table design
- [PRO] Setting
hydejack.advertise: false
will now remove the banner from the HTML and the JavaScript console. - Changed the box shadow of cards (projects, posts) to reduce the amount of painting the browser has to do on when mouse hovering them.
- The layout when using the theme without the
no_break_layout
setting is now
Fixes
- Allow transparent project and post images
- Removing/leaving out the
logo
key in the config file will now correctly remove the logo from the sidebar - [PRO] Fixed a bug that caused blog posts to be included the the search even when set to
sitemap: false
in the front matter.
v9.0.5
v9.0.4
- Fixed image fade in animation for images with
srcset
- Slightly increased size of post and project cards
- Added page margin to print layout
- Fixed KaTeX when JavaScript is disabled
- Fixed a layout bug in the
resume
layout when changing the content width in variable - Fixed table of contents sticky breakpoint
v9.0.3
v9.0.2
- Fixed a bug that prevented the search from updating when offline is enabled
- Fixed a bug that caused search terms to get lost during initialization
- Fixed a bug that prevented
site.legal
from getting stored for offline during service worker installation - Added support to for
no-cache
param to service worker.
See full the Patch Notes for Hydejack 9.
v9.0.1
- Changing app icons has been revamped. See this section in the docs.
- Changed default icons
- Changed default sidebar background
- Added
jekyll-compose
defaults to config file - Slightly adjusted dark mode colors
- Fixed resume layout breakpoint
See full the Patch Notes for Hydejack 9.
Hydejack 9
Major
-
Added Built-In Search Functionality
Hydejack now has its own built-in search solution, that integrates well with the existing page style and the new navbar.
The solution is entirely browser-based which means it even works while offline and doesn't depend on an 3rd party.
This works, because Hydejack is designed for personal sites that generally have less than 1000 pages.
In my testing, Jekyll build times have been a problem long before search query times.The results of the search are surprisingly good, but have only been tested in English and (somewhat) German.
For better language support, I might build an integration with Algolia at some point, which has the best results,
but requires stable internet connection and an API key.
I'd be interested to hear about problems with search in other languages to determine if this is necessary. -
Added Table of Contents that is prettier, sticky, and dynamic.
Adding a table of contents is part of kramdown and can be done in all versions of Hydejack.
However, v9 adds a dynamic version that will stick to the 3rd column on large screens and highlight the current section.Note that this will reduce the amount of space freed up by the
no_break_layout: false
setting (otherwise the ToC would overlap with code blocks, math blocks, etc). -
Added a scroll-linked navbar that disappears when scrolling down and re-appears when scrolling up.
-
Math support has been revamped because the old solution stopped working with Jekyll 4. Hydejack now supports both KaTeX and MathJax.
The MathJax implementation is more similar to the old solution. It comes with a client-side runtime (MathJax in this case)
and works on GitHub Pages. It is the more heavy-weight of the two and doesn't work without JavaScript enabled.
Due to the size of the complete MathJax package, it only works partially with offline support enabled.The KaTeX implementation has been changed to pre-render the KaTeX output during site building.
It does not ship a client-side runtime, which is more lightweight and works without JavaScript.
In my opinion, it is the more elegant solution, but it requires a JavaScript runtime on the machine that builds the site.
This means that this solution doesn't work on GitHub Pages.You can switch between the two implementations by changing the
kramdown.math_engine
key to eitherkatex
ormathjax
in your config file.
The KaTeX implementation also requires thekramdown-math-katex
gem in yourGemfile
. -
Drastically improved build times through the use of
jekyll-include-cache
.
Most of the previous tips on improving page build speed should now be obsolete. -
Added
grid
layout in PRO version that mirrors theprojects
layout, but for posts.
If you've setimage
s for your posts, it will give your blog a more modern look.
Minor
- CSS variables are now configurable via
_data/variables.yml
. While there are other ways to change them, this has the broadest reach across HTML (img[sizes]
attribute!), CSS and JS. - Many JS content features (such as
#
heading links) now work even whenhydejack.no_push_state
is enabled. - Linking to posts in the
home
andpost
layout now accept either paths or URLs. Read more. - The star icons in the resume layout can now be disabled via
no_skill_icons
andno_language_icons
. - Resume layout now supports the following keys:
born
,citizenship
, andmaritalStatus
. - PRO only: Added
hide_dates
option to disable showing blog post dates. - The
blog
layout now works without pagination, simply showing all posts on a single page when thejekyll-pagination
plugin is not found. - The
projects
,resume
, andgrid
layout now make better use of large screens, by letting content expand to the right of the screen. Restore the previous , setno_break_columns
in front matter. - Removed smooth scroll polyfill for Safari/Webkit as it has caused problems with sticky content.
- Figure captions can now be added to code blocks, math blocks, and tables in addition to just images using the
.figcaption
CSS class. - The order of the comment section relative to the about and related posts sections can now be customized via the
hydejack.post_addons
andhydejack.project_addons
keys. See the example_config.yml
for more. - Clicking the image in the
blog
layout will now navigate to the blog post. In the PRO version it will do so with the classic "move image in place" animation. - Grouping projects by year can now be disabled. Use
no_groups: true
in the front matter. This also applies to the newgrid
layout and the oldlist
layout. - hy-img has been removed and replaced with browser's native
loading=lazy
attribute - Now serving separate JavaScript files for old and new browsers, allowing it to take advantage of many new language features.
- JavaScript files are now chunked, so that only what is needed is loaded on demand.
- hy-drawer and hy-push-state have been rewritten in TypeScript and LitHTML, fixing many bugs in the process.
- Updated to Jekyll 4.1
- Hydejack now has a dedicated offline page that will be shown when the client is offline and tries to open a page that hasn't been cached.
The content of the page can be customized by creatingoffline.md
file in the root withlayout: offline
, similar to404.md
. - The code font can now be customized in the config file via the
font_code
key.
Design
- Many layouts (
projects
,resume
,home
) will now use more space on large screens (disable viahydejack.no_third_column
) - Headings now appear "oversized" on larger screens and extend to the right end of the screen (disable via
hydejack.no_large_headings
) - The base font size is now smaller across screen sizes (can be configured in
_sass/_variables.scss
) - The content width is now larger across screen sizes (can be configured in
_sass/_variables.scss
) - The link style has been changed to make picking accent colors easier for dark mode. It's also possible to link images now without worrying about underlines.
- The amount of whitespace has been reduced. Previously it had been increased but it felt too much.
- Added a
note
class that succeeds themessage
for adding auxillary content. Themessage
class still exists. - The navbar buttons made to look more like buttons
- Dark mode colors have been toned down a bit
- Improved dark mode text rendering on macOS
- The permalink style has been changed to use "#" instead of an icon.
- Definition list now have a double colon after the definition term.
- Changed the style of footnote links on small screens to make them easier to click.
Fixes
- Horizontal scrolling on a code block, math black, or table can no longer accidentally open the drawer.
- The client-side scripts are now more robust to missing HTML elements. This should ease theme customization.
- Setting
sitemap: false
will now also add anoindex
meta tag to prevent accidental search engine indexation. - Fixed back button not showing when opening in standalone mode for the first time.
- The menu icon is now hidden when the drawer is disabled.
- Using
no_drawer: true
is now working properly on cover pages whenno_push_state: false
is set. - Reduced the amount of pixels cached by the
will-change
optimization and fixed the corresponding warning in Firefox.
v8.5.2
- Fixed breaking builds due to name collision when upgrading to 8.5
This is caused when using both_plugins/jekyll-replace-imgs
and the newjekyll-replace-img
ruby gem.
I recommend deleting_plugins/jekyll-replace-imgs
when using thejekyll-replace-img
gem.
Note that this is an optional plugin. - Fixed
nomodule
script loading for Safari 10.1 - Fixed #176
v8.5.0
Changed
- [PRO] The theme now matches the operating system's dark mode.
- Scrolling down on a page with an open drawer will now close the drawer
- Reloading a cover page after the drawer has been closed will now open the page with the drawer closed
- Removed JavaScript-based web font swapping in favor of using
font-display: swap
- Darkened font color in dark mode to reduce contrast
- Updated KaTeX to the latest version
- Increased the durations of various animations slightly
- Now using
jekyll-replace-img
instead of custom code in_plugins
folder - Added a separate, smaller JavaScript bundle for modern browsers
Added
- Added support for figure captions on code blocks
- Added
keybase
to social media icons - [PRO] There's now a forward button when using the theme as a PWA
Fixed
- Fixed print layout when dark mode is enabled
- Using
CSSTransformValue
correctly - Fixed a minor style bug for dates
- Fixed a bug where light mode would flash when loading a page in dark mode
- Minimal support for IE11