# Migration

## From Hydejack v6

Unless otherwise noted, to upgrade from an older to a newer version of Hydejack (6.0.0 and above), copy to following folders from the zip into your repository.

• _includes/
• _layouts/
• _sass/
• assets/

NOTE: If you’ve modified any of Hydejack’s files, changes will be overwritten and you have to redo those changes.

Buyers of the PRO version will find the files necessary for an upgrade in the upgrade folder of the downloaded zip archive. Unless you’ve made any changes to Hydejack’s own files, you can safely copy them into your blog directory.

### From gem-based to zip

When upgrading from the gem-based version to any zip version (free or PRO) copy to following files and folders:

• _data/
• _includes/
• _layouts/
• _sass/
• assets/
• 404.md

Also make sure to remove the following line from _config.yml, as all necessary files are now located in the directory itself:

theme: jekyll-theme-hydejack

## From Hydejack v5

Unfortunately, upgrading form v5 is not straightforward. A lot of patterns and names have changed, motivated by a variety of reasons, including better integration with the rest of the Jekyll ecosystem and simplified workflows enabled by Jekyll Collections.

### Updating the folder structure

Copy the the following folders and files from Hydejack v6 into your existing repository. Make sure you merge the folder contents.

• _data/
• _includes/
• _layouts/
• _sass/
• assets/
• 404.md
• index.html (index.md*)
1. Delete the public folder. If you have placed files in the public folder, only delete public/css, public/js and public/fonts. Static files are now located in the assets folder.
2. Delete 404.html (now provided by 404.md and the not-found layout)

### Updating the configuration

_config.yml has changed considerably. Open it and make the following changes.

1. Rename the following keys

• disqus => disqus_shortname
2. Enable Jekyll Collections by adding

collections:
featured_categories:
output:    true
featured_tags:
output:    true
projects:
output:    true

3. Copy the entire author hash (including the top-level author key) from _config.yml into the new file _data/authors.yml and add it to the top of the file (you can delete the rest of the file).
4. In _config.yml, delete every key of the author hash except name and email.
5. Choose a shortname and use it as the key for the author, e.g.

qwtel:
name:    Florian Klampfer
email:   [email protected]
photo:   ...
photo2x: ...
Hi, I'm Florian or @qwtel...
social:
github:  qwtel

You can take a look at the full authors.yml for reference.

NOTE: When making changes to _config.yml, it is necessary to restart the Jekyll process for the changes to take effect.

### Updating the author

1. Open _data/authors.yml
2. Delete photo and photo2x form the author you’ve copied and add a picture hash instead that looks like

picture:
src: <photo>
srcset:
1x: <photo>
2x: <photo2x>

If you have only one photo, you can just provide the URL directly, e.g. picture: <url>.

### Restoring the tags

1. Delete the tag folder.
2. Create a top-level folder called _featured_tags.
3. For each entry in _data/tags.yml, create a markdown file in _features_tags with the name of the tag as filename, e.g. hyde.md for tag “hyde”.
4. For each tag, copy its contents from _data/tags.yml into the new file’s front matter, e.g.

---
layout: list
name: Hyde
image: /hydejack/public/img/hyde.jpg
color: '#949667'
description: >
Hyde is a brazen two-column Jekyll theme...
---

5. Add layout: list to the front matter.
6. Once you’ve copied all tags into their own files, delete _data/tags.yml.

### Restoring the sidebar entries

Hydejack can now link to any kind of page in the sidebar.

1. Delete sidebar_tags in _config.yml.
2. Open a file who’s page you would like to add to the sidebar. If you want to add a tag, open _featured_tags/<tagname>.md.
4. (Optional) Set order: <number>, where <number> is the number at which you would like the link to appear.

The feed is now provided by the jekyll-feed plugin instead of a custom solution.

1. Delete atom.xml
2. Add - jekyll-feed to gems in _config.yml, e.g.

gems:
- jekyll-feed
- jekyll-sitemap
- jekyll-paginate

3. (Optional) Add the following to _config.yml to make the feed appear at the same URL as the old atom.xml.

feed:
path: atom.xml

The way comments are enabled has changed slightly. You now have to enable them per page by adding comments: true to the front matter (this is what the Disqus integration guide suggests).

As mentioned above, don’t forget to rename disqus to disqus_shortname in _config.yml.