jekyll-theme-hydebetty 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE.md +622 -0
- data/README.md +180 -0
- data/_includes/body/analytics.html +43 -0
- data/_includes/body/comments.html +6 -0
- data/_includes/body/footer.html +19 -0
- data/_includes/body/index.html +22 -0
- data/_includes/body/main.html +18 -0
- data/_includes/body/menu.html +24 -0
- data/_includes/body/nav.html +41 -0
- data/_includes/body/scripts.html +9 -0
- data/_includes/body/sidebar.html +47 -0
- data/_includes/components/about.html +8 -0
- data/_includes/components/author.html +24 -0
- data/_includes/components/avatar-tag.html +4 -0
- data/_includes/components/hy-img.html +40 -0
- data/_includes/components/link.html +12 -0
- data/_includes/components/message.html +14 -0
- data/_includes/components/pagination.html +15 -0
- data/_includes/components/post-list-item.html +7 -0
- data/_includes/components/post.html +49 -0
- data/_includes/components/related-posts.html +25 -0
- data/_includes/components/social-list-item.html +40 -0
- data/_includes/components/social.html +23 -0
- data/_includes/components/tag-list.html +26 -0
- data/_includes/head/feed-tag.html +1 -0
- data/_includes/head/index.html +9 -0
- data/_includes/head/links.html +33 -0
- data/_includes/head/meta.html +34 -0
- data/_includes/head/page-style.html +6 -0
- data/_includes/head/scripts.html +9 -0
- data/_includes/head/seo-fallback.html +13 -0
- data/_includes/head/seo-tag.html +4 -0
- data/_includes/head/styles.html +41 -0
- data/_includes/header.txt +13 -0
- data/_includes/icon-github.html +2 -0
- data/_includes/my-body.html +42 -0
- data/_includes/my-comments.html +24 -0
- data/_includes/my-head.html +13 -0
- data/_includes/my-scripts.html +55 -0
- data/_includes/scripts/cssrelpreload.min.js +1 -0
- data/_includes/scripts/load-js.js +60 -0
- data/_includes/scripts/load-js.min.js +0 -0
- data/_includes/scripts/loadCSS.min.js +1 -0
- data/_includes/scripts/nomodule.js +21 -0
- data/_includes/scripts/nomodule.min.js +0 -0
- data/_includes/scripts.html +33 -0
- data/_includes/smart-url.txt +1 -0
- data/_includes/styles/inline.scss +62 -0
- data/_includes/styles/page-style.scss +64 -0
- data/_includes/styles/style.scss +113 -0
- data/_includes/templates/animation.html +7 -0
- data/_includes/templates/back.html +6 -0
- data/_includes/templates/error.html +10 -0
- data/_includes/templates/forward.html +6 -0
- data/_includes/templates/index.html +12 -0
- data/_includes/templates/loading.html +6 -0
- data/_includes/templates/permalink.html +6 -0
- data/_layouts/about.html +43 -0
- data/_layouts/base.html +38 -0
- data/_layouts/blog.html +32 -0
- data/_layouts/compress.html +15 -0
- data/_layouts/default.html +56 -0
- data/_layouts/home.html +20 -0
- data/_layouts/list.html +46 -0
- data/_layouts/not-found.html +37 -0
- data/_layouts/page.html +27 -0
- data/_layouts/post.html +34 -0
- data/_layouts/redirect.html +23 -0
- data/_sass/_mixins.scss +63 -0
- data/_sass/_reboot-mod.scss +286 -0
- data/_sass/_spinner.scss +45 -0
- data/_sass/_syntax.scss +131 -0
- data/_sass/_variables.scss +63 -0
- data/_sass/hydejack/__inline__/_avatar.scss +48 -0
- data/_sass/hydejack/__inline__/_base.scss +73 -0
- data/_sass/hydejack/__inline__/_break-layout.scss +25 -0
- data/_sass/hydejack/__inline__/_content.scss +59 -0
- data/_sass/hydejack/__inline__/_footer.scss +25 -0
- data/_sass/hydejack/__inline__/_images.scss +38 -0
- data/_sass/hydejack/__inline__/_katex.scss +25 -0
- data/_sass/hydejack/__inline__/_links.scss +45 -0
- data/_sass/hydejack/__inline__/_mark-external.scss +25 -0
- data/_sass/hydejack/__inline__/_menu.scss +67 -0
- data/_sass/hydejack/__inline__/_sidebar.scss +144 -0
- data/_sass/hydejack/__inline__/_social.scss +58 -0
- data/_sass/hydejack/__inline__/_utilities.scss +45 -0
- data/_sass/hydejack/__link__/_avatar.scss +38 -0
- data/_sass/hydejack/__link__/_base.scss +42 -0
- data/_sass/hydejack/__link__/_break-layout.scss +64 -0
- data/_sass/hydejack/__link__/_content.scss +32 -0
- data/_sass/hydejack/__link__/_footer.scss +47 -0
- data/_sass/hydejack/__link__/_images.scss +90 -0
- data/_sass/hydejack/__link__/_katex.scss +57 -0
- data/_sass/hydejack/__link__/_links.scss +53 -0
- data/_sass/hydejack/__link__/_mark-external.scss +51 -0
- data/_sass/hydejack/__link__/_menu.scss +42 -0
- data/_sass/hydejack/__link__/_sidebar.scss +114 -0
- data/_sass/hydejack/__link__/_social.scss +33 -0
- data/_sass/hydejack/__link__/_utilities.scss +54 -0
- data/_sass/hydejack/_avatar.pre.scss +44 -0
- data/_sass/hydejack/_base.pre.scss +78 -0
- data/_sass/hydejack/_break-layout.pre.scss +55 -0
- data/_sass/hydejack/_content.pre.scss +56 -0
- data/_sass/hydejack/_footer.pre.scss +38 -0
- data/_sass/hydejack/_images.pre.scss +83 -0
- data/_sass/hydejack/_katex.pre.scss +48 -0
- data/_sass/hydejack/_links.pre.scss +47 -0
- data/_sass/hydejack/_mark-external.pre.scss +42 -0
- data/_sass/hydejack/_menu.pre.scss +74 -0
- data/_sass/hydejack/_sidebar.pre.scss +175 -0
- data/_sass/hydejack/_social.pre.scss +55 -0
- data/_sass/hydejack/_utilities.pre.scss +46 -0
- data/_sass/my-inline.scss +16 -0
- data/_sass/my-style.scss +9 -0
- data/_sass/my-variables.scss +1 -0
- data/_sass/pooleparty/__inline__/_base.scss +75 -0
- data/_sass/pooleparty/__inline__/_code.scss +25 -0
- data/_sass/pooleparty/__inline__/_footer.scss +25 -0
- data/_sass/pooleparty/__inline__/_footnotes.scss +25 -0
- data/_sass/pooleparty/__inline__/_message.scss +35 -0
- data/_sass/pooleparty/__inline__/_pagination.scss +25 -0
- data/_sass/pooleparty/__inline__/_posts.scss +49 -0
- data/_sass/pooleparty/__inline__/_read-more.scss +25 -0
- data/_sass/pooleparty/__inline__/_related.scss +38 -0
- data/_sass/pooleparty/__inline__/_table.scss +53 -0
- data/_sass/pooleparty/__inline__/_type.scss +88 -0
- data/_sass/pooleparty/__link__/_base.scss +40 -0
- data/_sass/pooleparty/__link__/_code.scss +75 -0
- data/_sass/pooleparty/__link__/_footer.scss +25 -0
- data/_sass/pooleparty/__link__/_footnotes.scss +80 -0
- data/_sass/pooleparty/__link__/_message.scss +25 -0
- data/_sass/pooleparty/__link__/_pagination.scss +90 -0
- data/_sass/pooleparty/__link__/_posts.scss +38 -0
- data/_sass/pooleparty/__link__/_read-more.scss +45 -0
- data/_sass/pooleparty/__link__/_related.scss +33 -0
- data/_sass/pooleparty/__link__/_table.scss +171 -0
- data/_sass/pooleparty/__link__/_type.scss +141 -0
- data/_sass/pooleparty/_base.pre.scss +74 -0
- data/_sass/pooleparty/_code.pre.scss +66 -0
- data/_sass/pooleparty/_footer.pre.scss +16 -0
- data/_sass/pooleparty/_footnotes.pre.scss +71 -0
- data/_sass/pooleparty/_message.pre.scss +26 -0
- data/_sass/pooleparty/_pagination.pre.scss +81 -0
- data/_sass/pooleparty/_posts.pre.scss +52 -0
- data/_sass/pooleparty/_read-more.pre.scss +36 -0
- data/_sass/pooleparty/_related.pre.scss +35 -0
- data/_sass/pooleparty/_table.pre.scss +180 -0
- data/_sass/pooleparty/_type.pre.scss +193 -0
- data/assets/Resume.pdf +0 -0
- data/assets/bower.json +11 -0
- data/assets/bower_components/html5shiv/.bower.json +26 -0
- data/assets/bower_components/html5shiv/Gruntfile.js +61 -0
- data/assets/bower_components/html5shiv/bower.json +15 -0
- data/assets/bower_components/html5shiv/dist/html5shiv-printshiv.js +524 -0
- data/assets/bower_components/html5shiv/dist/html5shiv-printshiv.min.js +4 -0
- data/assets/bower_components/html5shiv/dist/html5shiv.js +326 -0
- data/assets/bower_components/html5shiv/dist/html5shiv.min.js +4 -0
- data/assets/bower_components/html5shiv/package.json +16 -0
- data/assets/bower_components/katex/.bower.json +47 -0
- data/assets/bower_components/katex/LICENSE +21 -0
- data/assets/bower_components/katex/bower.json +36 -0
- data/assets/bower_components/katex/dist/contrib/auto-render.js +339 -0
- data/assets/bower_components/katex/dist/contrib/auto-render.min.js +1 -0
- data/assets/bower_components/katex/dist/contrib/auto-render.mjs +215 -0
- data/assets/bower_components/katex/dist/contrib/copy-tex.css +14 -0
- data/assets/bower_components/katex/dist/contrib/copy-tex.js +213 -0
- data/assets/bower_components/katex/dist/contrib/copy-tex.min.css +1 -0
- data/assets/bower_components/katex/dist/contrib/copy-tex.min.js +1 -0
- data/assets/bower_components/katex/dist/contrib/copy-tex.mjs +85 -0
- data/assets/bower_components/katex/dist/contrib/mathtex-script-type.js +137 -0
- data/assets/bower_components/katex/dist/contrib/mathtex-script-type.min.js +1 -0
- data/assets/bower_components/katex/dist/contrib/mathtex-script-type.mjs +24 -0
- data/assets/bower_components/katex/dist/contrib/mhchem.js +3241 -0
- data/assets/bower_components/katex/dist/contrib/mhchem.min.js +1 -0
- data/assets/bower_components/katex/dist/contrib/mhchem.mjs +3109 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_AMS-Regular.ttf +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_AMS-Regular.woff +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_AMS-Regular.woff2 +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Fraktur-Bold.woff +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Fraktur-Regular.woff +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Main-Bold.ttf +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Main-Bold.woff +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Main-Bold.woff2 +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Main-BoldItalic.woff +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Main-Italic.ttf +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Main-Italic.woff +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Main-Italic.woff2 +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Main-Regular.ttf +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Main-Regular.woff +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Main-Regular.woff2 +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Math-BoldItalic.woff +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Math-Italic.ttf +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Math-Italic.woff +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Math-Italic.woff2 +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_SansSerif-Bold.woff +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_SansSerif-Italic.woff +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_SansSerif-Regular.woff +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Script-Regular.ttf +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Script-Regular.woff +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Script-Regular.woff2 +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Size1-Regular.ttf +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Size1-Regular.woff +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Size1-Regular.woff2 +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Size2-Regular.ttf +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Size2-Regular.woff +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Size2-Regular.woff2 +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Size3-Regular.ttf +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Size3-Regular.woff +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Size3-Regular.woff2 +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Size4-Regular.ttf +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Size4-Regular.woff +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Size4-Regular.woff2 +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Typewriter-Regular.woff +0 -0
- data/assets/bower_components/katex/dist/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
- data/assets/bower_components/katex/dist/katex.css +1021 -0
- data/assets/bower_components/katex/dist/katex.js +16809 -0
- data/assets/bower_components/katex/dist/katex.min.css +1 -0
- data/assets/bower_components/katex/dist/katex.min.js +1 -0
- data/assets/bower_components/katex/dist/katex.mjs +16342 -0
- data/assets/bower_components/katex/yarn.lock +8952 -0
- data/assets/css/hydejack-7.5.2.css +3 -0
- data/assets/css/hydejack-8.5.2.css +3 -0
- data/assets/icomoon/fonts/icomoon.eot +0 -0
- data/assets/icomoon/fonts/icomoon.svg +96 -0
- data/assets/icomoon/fonts/icomoon.ttf +0 -0
- data/assets/icomoon/fonts/icomoon.woff +0 -0
- data/assets/icomoon/selection.json +1 -0
- data/assets/icomoon/style.css +284 -0
- data/assets/icons/favicon.ico +0 -0
- data/assets/icons/icon.png +0 -0
- data/assets/icons/icon@0,25x.png +0 -0
- data/assets/icons/icon@0,5x.png +0 -0
- data/assets/icons/icon@0,75x.png +0 -0
- data/assets/icons/icon@2x.png +0 -0
- data/assets/icons/icon@3x.png +0 -0
- data/assets/icons/tile-large.png +0 -0
- data/assets/icons/tile-medium.png +0 -0
- data/assets/icons/tile-small.png +0 -0
- data/assets/icons/tile-wide.png +0 -0
- data/assets/ieconfig.xml +15 -0
- data/assets/img/blog/COLOURlovers.com-Hydejack.png +0 -0
- data/assets/img/blog/blog-layout.jpg +0 -0
- data/assets/img/blog/caleb-george-old.jpg +0 -0
- data/assets/img/blog/caleb-george.jpg +0 -0
- data/assets/img/blog/cover-page.jpg +0 -0
- data/assets/img/blog/dark-mode-ii.jpg +0 -0
- data/assets/img/blog/dark-mode.jpg +0 -0
- data/assets/img/blog/example-content-ii.jpg +0 -0
- data/assets/img/blog/example-content-iii.jpg +0 -0
- data/assets/img/blog/hydejack-8.png +0 -0
- data/assets/img/blog/hydejack-8@0,25x.png +0 -0
- data/assets/img/blog/hydejack-8@0,5x.png +0 -0
- data/assets/img/blog/lazy-images.jpg +0 -0
- data/assets/img/blog/louis-hansel.jpg +0 -0
- data/assets/img/blog/resume.png +0 -0
- data/assets/img/blog/steve-harvey.jpg +0 -0
- data/assets/img/blog/w3m.png +0 -0
- data/assets/img/blog/wade-lambert.jpg +0 -0
- data/assets/img/docs/google-fonts.png +0 -0
- data/assets/img/projects/hy-drawer.svg +12 -0
- data/assets/img/projects/hy-img.svg +17 -0
- data/assets/img/projects/hy-push-state.svg +13 -0
- data/assets/img/sidebar-bg.jpg +0 -0
- data/assets/img/swipe.svg +22 -0
- data/assets/js/hydejack-8.5.2.js +161 -0
- data/assets/js/hydejack-legacy-8.5.2.js +190 -0
- data/assets/manifest.json +46 -0
- data/assets/version.json +3 -0
- data/assets/video/blog-layout.mp4 +0 -0
- data/assets/video/cover-page.mp4 +0 -0
- data/assets/video/dark-mode.mp4 +0 -0
- data/assets/video/lazy-images.mp4 +0 -0
- data/licenses/Apache-2.0.md +208 -0
- data/licenses/GPL-3.0.md +620 -0
- data/licenses/MIT.md +21 -0
- data/licenses/PRO.md +136 -0
- data/licenses/README.md +10 -0
- data/licenses/W3C.md +31 -0
- metadata +385 -0
data/README.md
ADDED
@@ -0,0 +1,180 @@
|
|
1
|
+
# Hydejack
|
2
|
+
|
3
|
+
The "Best Jekyll Theme by a Mile".
|
4
|
+
|
5
|
+
|
6
|
+
![Screenshot](assets/img/blog/hydejack-8.png)
|
7
|
+
Hydejack's cover page on a variety of screens.
|
8
|
+
|
9
|
+
|
10
|
+
**Hydejack** is your presence on the web. It gives you a *blog* that is suitable for both prose and technical documentation, a *portfolio* to showcase your projects, and a beautiful *resume* template that looks amazing on the web and in print.
|
11
|
+
|
12
|
+
> Your presence on the web — A [blog], a [portfolio], and a [resume].
|
13
|
+
|
14
|
+
|
15
|
+
There are two versions of **Hydejack**: The base version is free, while features that are specific to *professionals* are a payed upgrade.
|
16
|
+
|
17
|
+
| | Free | PRO |
|
18
|
+
|:-----------------------|:--------------:|:--------:|
|
19
|
+
| Blog | ✔ | ✔ |
|
20
|
+
| [Features] | ✔ | ✔ |
|
21
|
+
| [Portfolio] | | ✔ |
|
22
|
+
| [Resume] | | ✔ |
|
23
|
+
| [Welcome] | | ✔ |
|
24
|
+
| [Newsletter Box][news] | | ✔ |
|
25
|
+
| [Custom Forms][forms] | | ✔ |
|
26
|
+
| [Dark Mode][darkm] | | ✔ |
|
27
|
+
| [Offline Support][ofln]| | ✔ |
|
28
|
+
| Cookie Banner | | ✔ |
|
29
|
+
| No Hydejack Branding | | ✔ |
|
30
|
+
| License | [GPL-3.0][lic] | [PRO] |
|
31
|
+
| Source | [GitHub][src] | Included |
|
32
|
+
| Support[^1] | No | No |
|
33
|
+
| Price | Free | $59 |
|
34
|
+
| | [**Download**][kit] <br/>-- or --<br/> [![Deploy to Netlify][dtn]][nfy] | [**Buy PRO** --- $59][buy] |
|
35
|
+
|
36
|
+
|
37
|
+
|
38
|
+
## A Free Blogging Theme
|
39
|
+
**Hydejack** started out as a free blogging theme for Jekyll — and continues to be so.
|
40
|
+
|
41
|
+
<!--posts-->
|
42
|
+
|
43
|
+
|
44
|
+
## An Impressive Portfolio
|
45
|
+
A portfolio that's guaranteed to be impressive — no matter what you put into it.
|
46
|
+
|
47
|
+
<!--projects-->
|
48
|
+
|
49
|
+
|
50
|
+
## A Printable Resume
|
51
|
+
Get a resume that's consistent across the board — whether it's on the web, mobile, print, or [PDF](assets/Resume.pdf).
|
52
|
+
|
53
|
+
![Resume PDF](assets/img/blog/resume.png)
|
54
|
+
Front and center page of a print resume generated by Hydejack.
|
55
|
+
|
56
|
+
|
57
|
+
|
58
|
+
## Just Markup
|
59
|
+
**Hydejack** boasts a plethora of modern JavaScript, but make no mistake: It's still a plain old *web page* at its core. It works without JavaScript, and you can even view it in a text-based browser like `w3m`:
|
60
|
+
|
61
|
+
![w3m Screenshot](assets/img/blog/w3m.png)
|
62
|
+
The Hydejack blog, as seen by the text browser `w3m`.
|
63
|
+
|
64
|
+
|
65
|
+
|
66
|
+
## Syntax Highlighting
|
67
|
+
**Hydejack** features syntax highlighting, powered by [Rouge].
|
68
|
+
|
69
|
+
```js
|
70
|
+
document.getElementsByTagName("hy-push-state")[0].addEventListener("hy-push-state-load", function() {
|
71
|
+
// <your init code>
|
72
|
+
});
|
73
|
+
```
|
74
|
+
|
75
|
+
|
76
|
+
## Beautiful Math
|
77
|
+
They say math is beautiful — and with **Hydejack**'s [math support][latex] it's also guaranteed to *look* beautiful.
|
78
|
+
|
79
|
+
![Math Screenshot](assets/img/blog/example-content-iii.jpg)
|
80
|
+
Hydejack uses KaTeX to efficiently render math.
|
81
|
+
|
82
|
+
|
83
|
+
|
84
|
+
## Build an Audience
|
85
|
+
The PRO version has built-in support for customizable [Tinyletter] newsletter subscription boxes.
|
86
|
+
|
87
|
+
If you are using a different service like MailChimp, you can build a custom newsletter subscription box using [Custom Forms][forms].
|
88
|
+
|
89
|
+
|
90
|
+
## A Personal Site That Belongs to You
|
91
|
+
**Hydejack** is 100% built on Open Source software, and is Open Source itself, save for parts of the PRO version. The PRO version is a one-time payment that gives you the right to use it forever.
|
92
|
+
|
93
|
+
|
94
|
+
## Features
|
95
|
+
An incomplete list of features included in all versions of **Hydejack**:
|
96
|
+
|
97
|
+
* Full in-app page loading, powered by [hy-push-state]
|
98
|
+
* Customizable sidebar and touch-enabled drawer menu, powered by [hy-drawer]
|
99
|
+
* Lazy image loading with cancellation and placeholder, powered by [hy-img]
|
100
|
+
* Advanced FLIP animations, inspired by Material Design
|
101
|
+
* 99/100 [Google PageSpeed Score][gpss][^2]
|
102
|
+
* [Syntax highlighting][syntax], powered by [Rouge]
|
103
|
+
* [LaTeX math blocks][latex], powered by [KaTeX]
|
104
|
+
* Change the wording of built-in strings and possibly translate in other languages
|
105
|
+
* Support for categories and tags
|
106
|
+
* Built-in icons for many social networks
|
107
|
+
* Simple and semantic HTML
|
108
|
+
* Structured Data for core entities
|
109
|
+
* Author section below each article and support for multiple authors
|
110
|
+
* Google Analytics and Google Fonts support
|
111
|
+
|
112
|
+
|
113
|
+
## Download
|
114
|
+
There are two versions of **Hydejack**: The *free version* includes basic blogging functionality, as did previous versions of the theme.
|
115
|
+
The *PRO version* includes additional features for professionals:
|
116
|
+
A [portfolio], a [resume] layout, and a [welcome] page to highlight your favorite projects and posts.
|
117
|
+
|
118
|
+
This table below shows what's included in each version:
|
119
|
+
|
120
|
+
| | Free | PRO |
|
121
|
+
|:-----------------------|:--------------:|:--------:|
|
122
|
+
| Blog | ✔ | ✔ |
|
123
|
+
| [Features] | ✔ | ✔ |
|
124
|
+
| [Portfolio] | | ✔ |
|
125
|
+
| [Resume] | | ✔ |
|
126
|
+
| [Welcome] | | ✔ |
|
127
|
+
| [Newsletter Box][news] | | ✔ |
|
128
|
+
| [Custom Forms][forms] | | ✔ |
|
129
|
+
| [Dark Mode][darkm] | | ✔ |
|
130
|
+
| [Offline Support][ofln]| | ✔ |
|
131
|
+
| Cookie Banner | | ✔ |
|
132
|
+
| No Hydejack Branding | | ✔ |
|
133
|
+
| License | [GPL-3.0][lic] | [PRO] |
|
134
|
+
| Source | [GitHub][src] | Included |
|
135
|
+
| Support[^1] | No | No |
|
136
|
+
| Price | Free | $59 |
|
137
|
+
| | [**Download**][kit] <br/>-- or --<br/> [![Deploy to Netlify][dtn]][nfy] | [**Buy PRO** --- $59][buy] |
|
138
|
+
|
139
|
+
|
140
|
+
|
141
|
+
|
142
|
+
[^1]: You MAY open an issue on GitHub, but no response and/or fix is guaranteed.
|
143
|
+
You understand that using Jekyll requires technical know-how and is not comparable to Wordpress in terms of ease of use. Please use the free version to confirm that Hydejack works for you. For details, see the [PRO] license.
|
144
|
+
|
145
|
+
[^2]: Actual page load speed depends on your hosting provider, resolution of embedded images and usage of 3rd party plugins.
|
146
|
+
|
147
|
+
[blog]: https://hydejack.com/blog/
|
148
|
+
[portfolio]: https://hydejack.com/projects/
|
149
|
+
[resume]: https://hydejack.com/resume/
|
150
|
+
[download]: https://hydejack.com/download/
|
151
|
+
[welcome]: https://hydejack.com/
|
152
|
+
[forms]: https://hydejack.com/forms-by-example/
|
153
|
+
|
154
|
+
[features]: #features
|
155
|
+
[news]: #build-an-audience
|
156
|
+
[syntax]: #syntax-highlighting
|
157
|
+
[latex]: hydejack/_posts/2018-06-01-example-content-iii.md#math
|
158
|
+
[darkm]: hydejack/_posts/2018-09-01-introducing-dark-mode.md
|
159
|
+
|
160
|
+
[lic]: LICENSE.md
|
161
|
+
[pro]: licenses/PRO.md
|
162
|
+
[docs]: docs/README.md
|
163
|
+
[ofln]: docs/advanced.md#enabling-offline-support
|
164
|
+
|
165
|
+
[kit]: https://github.com/qwtel/hydejack-starter-kit/archive/v8.5.0.zip
|
166
|
+
[src]: https://github.com/qwtel/hydejack
|
167
|
+
[gem]: https://rubygems.org/gems/jekyll-theme-hydejack
|
168
|
+
[buy]: https://app.simplegoods.co/i/NATYVLYT
|
169
|
+
[nfy]: https://app.netlify.com/start/deploy?repository=https://github.com/qwtel/hydejack-starter-kit
|
170
|
+
[dtn]: https://www.netlify.com/img/deploy/button.svg
|
171
|
+
|
172
|
+
[gpss]: https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Fhydejack.com%2F
|
173
|
+
[hy-push-state]: https://qwtel.com/hy-push-state/
|
174
|
+
[hy-drawer]: https://qwtel.com/hy-drawer/
|
175
|
+
[hy-img]: https://qwtel.com/hy-img/
|
176
|
+
[rouge]: http://rouge.jneen.net
|
177
|
+
[katex]: https://khan.github.io/KaTeX/
|
178
|
+
[tinyletter]: https://tinyletter.com/
|
179
|
+
|
180
|
+
*[FLIP]: First-Last-Invert-Play. A coding technique to achieve performant page transition animations.
|
@@ -0,0 +1,43 @@
|
|
1
|
+
{% if site.google_analytics %}
|
2
|
+
<script>!function(w, d) {
|
3
|
+
w.ga=w.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
|
4
|
+
|
5
|
+
/*{% if site.hydejack.cookies_banner %}*/
|
6
|
+
if (navigator.CookiesOK) {
|
7
|
+
ga('create', '{{ site.google_analytics }}', 'auto');
|
8
|
+
} else if (d.cookie.indexOf("hy--cookies-ok=true") > -1) {
|
9
|
+
ga('create', '{{ site.google_analytics }}', {
|
10
|
+
'storage': 'none',
|
11
|
+
'clientId': localStorage ? localStorage.getItem('ga--client-id') : undefined
|
12
|
+
});
|
13
|
+
} else {
|
14
|
+
ga('create', '{{ site.google_analytics }}', {
|
15
|
+
'storage': 'none'
|
16
|
+
});
|
17
|
+
ga('set', 'forceSSL', true);
|
18
|
+
ga('set', 'anonymizeIp', true);
|
19
|
+
}
|
20
|
+
/*{% else %}*/
|
21
|
+
ga('create', '{{ site.google_analytics }}', 'auto');
|
22
|
+
/*{% endif %}*/
|
23
|
+
|
24
|
+
var pushStateEl = d.getElementsByTagName('hy-push-state')[0];
|
25
|
+
var timeoutId;
|
26
|
+
pushStateEl.addEventListener('hy-push-state-load', function() {
|
27
|
+
w.clearTimeout(timeoutId);
|
28
|
+
timeoutId = w.setTimeout(function() {
|
29
|
+
ga('set', 'page', w.location.pathname);
|
30
|
+
ga('send', 'pageview');
|
31
|
+
}, 500);
|
32
|
+
});
|
33
|
+
|
34
|
+
d.addEventListener('hy--cookies-ok', function () {
|
35
|
+
w.ga(function(tracker) {
|
36
|
+
w.ga("set", "anonymizeIp", undefined);
|
37
|
+
localStorage && localStorage.setItem("ga--client-id", tracker.get("clientId"));
|
38
|
+
});
|
39
|
+
});
|
40
|
+
|
41
|
+
w.loadJSDeferred('https://www.google-analytics.com/analytics.js');
|
42
|
+
}(window, document);</script>
|
43
|
+
{% endif %}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
{% if site.copyright.size > 0 or site.legal.size > 0 or site.hydejack.advertise %}
|
2
|
+
<footer role="contentinfo">
|
3
|
+
<hr/>
|
4
|
+
{% if site.copyright.size > 0 %}
|
5
|
+
<p><small class="copyright">{{ site.copyright | markdownify | replace:'<p>','' | replace:'</p>','' }}</small></p>
|
6
|
+
{% endif %}
|
7
|
+
{% if site.legal.size > 0 %}
|
8
|
+
<nav class="legal"><small>
|
9
|
+
{% for node in site.legal %}
|
10
|
+
{% assign url = node.url | default: node.href %}
|
11
|
+
<a class="heading flip-title" href="{% include smart-url.txt url=url %}">{{ node.name | default:node.title }}</a>
|
12
|
+
{% unless forloop.last %}{{ site.data.strings.separator | default:'|' }}{% endunless %}
|
13
|
+
{% endfor %}
|
14
|
+
</small></nav>
|
15
|
+
{% endif %}
|
16
|
+
<p><small>Powered by <a class="external" href="https://hydejack.com/">Hydejack</a> v<span id="_version">8.5.2</span></small></p>
|
17
|
+
<hr class="sr-only"/>
|
18
|
+
</footer>
|
19
|
+
{% endif %}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
{% include body/menu.html %}
|
2
|
+
|
3
|
+
<hy-push-state
|
4
|
+
replace-ids="_main"
|
5
|
+
link-selector="a[href]:not([href*='/assets/']):not(.external):not(.no-push-state)"
|
6
|
+
duration="250"
|
7
|
+
script-selector="script:not([type^='math/tex'])"
|
8
|
+
prefetch
|
9
|
+
>
|
10
|
+
{% if page.cover %}
|
11
|
+
{% include body/sidebar.html %}
|
12
|
+
{% include body/main.html %}
|
13
|
+
{% else %}
|
14
|
+
{% include body/main.html %}
|
15
|
+
{% include body/sidebar.html %}
|
16
|
+
{% endif %}
|
17
|
+
</hy-push-state>
|
18
|
+
|
19
|
+
{% include body/scripts.html %}
|
20
|
+
{% include my-body.html %}
|
21
|
+
|
22
|
+
{% include templates/index.html %}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<main
|
2
|
+
id="_main"
|
3
|
+
class="content fade-in layout-{{ page.layout }}"
|
4
|
+
role="main"
|
5
|
+
data-color="{{ color | escape }}"
|
6
|
+
data-theme-color="{{ theme_color | escape }}"
|
7
|
+
{% unless image.background %}
|
8
|
+
data-image="{% if image == 'none' %}none{% else %}{% capture tmp %}{% include smart-url.txt url=image %}{% endcapture %}{{ tmp | escape }}{% endif %}"
|
9
|
+
{% if image != 'none' %}data-overlay{% endif %}
|
10
|
+
{% else %}
|
11
|
+
data-background="{{ image.background | escape }}"
|
12
|
+
{% if image.overlay %}data-overlay{% endif %}
|
13
|
+
{% endunless %}
|
14
|
+
>
|
15
|
+
{{ content }}
|
16
|
+
{% include body/comments.html %}
|
17
|
+
{% include body/footer.html %}
|
18
|
+
</main>
|
@@ -0,0 +1,24 @@
|
|
1
|
+
<div id="_navbar" class="navbar fixed-top">
|
2
|
+
<div class="content">
|
3
|
+
<div class="nav-btn-bar">
|
4
|
+
<span class="sr-only">{{ site.data.strings.jump_to | default:"Jump to" }}{{ site.data.strings.colon | default:":" }}</span>
|
5
|
+
<a id="_menu" class="nav-btn no-hover fl" href="#_navigation">
|
6
|
+
<span class="sr-only">{{ site.data.strings.navigation | default:"Navigation" }}</span>
|
7
|
+
<span class="icon-menu"></span>
|
8
|
+
</a>
|
9
|
+
<!-- <a id="_search" class="nav-btn no-hover fl" href="#_search">
|
10
|
+
<span class="sr-only">{{ site.data.strings.search | default:"Search" }}</span>
|
11
|
+
<span class="icon-search"></span>
|
12
|
+
</a>
|
13
|
+
<form action="https://duckduckgo.com/" method="GET">
|
14
|
+
<div class="form-group fr">
|
15
|
+
<label class="sr-only" for="_search">{{ site.data.strings.search | default:"Search" }}</label>
|
16
|
+
<input id="_search" name="q" class="form-control" type="search" />
|
17
|
+
</div>
|
18
|
+
<input type="hidden" name="q" value="site:hydejack.com" />
|
19
|
+
<input type="hidden" name="ia" value="web" />
|
20
|
+
</form> -->
|
21
|
+
</div>
|
22
|
+
</div>
|
23
|
+
</div>
|
24
|
+
<hr class="sr-only" hidden />
|
@@ -0,0 +1,41 @@
|
|
1
|
+
<span class="sr-only">{{ site.data.strings.navigation | default:"Navigation" }}{{ site.data.strings.colon | default:":" }}</span>
|
2
|
+
<ul>
|
3
|
+
{% if site.menu %}
|
4
|
+
{% for node in site.menu %}
|
5
|
+
{% assign url = node.url | default: node.href %}
|
6
|
+
<li>
|
7
|
+
<a
|
8
|
+
{% if forloop.first %}id="_navigation"{% endif %}
|
9
|
+
href="{% include smart-url.txt url=url %}"
|
10
|
+
class="sidebar-nav-item{% if page.url contains url %} active{% endif %}"
|
11
|
+
{% if node.rel %}rel="{{ node.rel }}"{% endif %}
|
12
|
+
>
|
13
|
+
{{ node.name | default:node.title }}
|
14
|
+
</a>
|
15
|
+
</li>
|
16
|
+
{% endfor %}
|
17
|
+
{% else %}
|
18
|
+
{% assign pages = site.pages | where: "menu", true %}
|
19
|
+
{% assign documents = site.documents | where: "menu", true %}
|
20
|
+
{% assign nodes = pages | concat: documents | sort: "order" %}
|
21
|
+
|
22
|
+
{% for node in nodes %}
|
23
|
+
{% unless node.redirect_to %}
|
24
|
+
<li>
|
25
|
+
<a
|
26
|
+
{% if forloop.first %}id="_navigation"{% endif %}
|
27
|
+
href="{{ node.url | relative_url }}"
|
28
|
+
class="sidebar-nav-item{% if page.url contains node.url %} active{% endif %}"
|
29
|
+
{% if node.rel %}rel="{{ node.rel }}"{% endif %}
|
30
|
+
>
|
31
|
+
{{ node.title }}
|
32
|
+
</a>
|
33
|
+
</li>
|
34
|
+
{% else %}
|
35
|
+
<li>
|
36
|
+
<a href="{{ node.redirect_to }}" class="sidebar-nav-item external" >{{ node.title }}</a>
|
37
|
+
</li>
|
38
|
+
{% endunless %}
|
39
|
+
{% endfor %}
|
40
|
+
{% endif %}
|
41
|
+
</ul>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<!--[if gt IE 10]><!---->
|
2
|
+
{% unless page.redirect %}
|
3
|
+
<script nomodule>{% include scripts/nomodule.min.js %}</script>
|
4
|
+
<script type="module" src="{{ "/assets/js/hydejack-8.5.2.js" | relative_url }}"></script>
|
5
|
+
<script nomodule src="{{ "/assets/js/hydejack-legacy-8.5.2.js" | relative_url }}" defer></script>
|
6
|
+
{% include my-scripts.html %}
|
7
|
+
{% include body/analytics.html %}
|
8
|
+
{% endunless %}
|
9
|
+
<!--<![endif]-->
|
@@ -0,0 +1,47 @@
|
|
1
|
+
<hy-drawer
|
2
|
+
class="{% if page.cover %}cover{% endif %}"
|
3
|
+
align="left"
|
4
|
+
threshold="10"
|
5
|
+
touch-events
|
6
|
+
prevent-default
|
7
|
+
>
|
8
|
+
<header id="_sidebar" class="sidebar" role="banner">
|
9
|
+
{% if image.background %}
|
10
|
+
{% capture bg_style %}background:{{ image.background }}{% endcapture %}
|
11
|
+
{% capture bg_class %}sidebar-bg {% if image.overlay %}sidebar-overlay{% endif %}{% endcapture %}
|
12
|
+
{% else %}
|
13
|
+
{% assign bg_color = page.theme_color | default:site.theme_color | default:color %}
|
14
|
+
{% capture bg_style %}background-color:{{bg_color}};{% if image != 'none' %}background-image:url({% include smart-url.txt url=image %}){% endif %}{% endcapture %}
|
15
|
+
{% capture bg_class %}sidebar-bg {% if image != 'none' %}sidebar-overlay{% endif %}{% endcapture %}
|
16
|
+
{% endif %}
|
17
|
+
<div class="{{bg_class}}" style="{{bg_style}}"></div>
|
18
|
+
|
19
|
+
<div class="sidebar-sticky">
|
20
|
+
<div class="sidebar-about">
|
21
|
+
{% if site.logo %}
|
22
|
+
<a class="no-hover" href="{{ '/' | relative_url }}" tabindex="-1">
|
23
|
+
<img src="{{ site.logo | relative_url }}" class="avatar" alt="{{ site.short_title | default:site.title }}" data-ignore />
|
24
|
+
</a>
|
25
|
+
{% endif %}
|
26
|
+
<h2 class="h1"><a href="{{ '/' | relative_url }}">{{ site.short_title | default:site.title }}</a></h2>
|
27
|
+
{% assign text = site.tagline | default:site.description %}
|
28
|
+
{% if text %}
|
29
|
+
<p class="{% if text.size > 100 %}fine{% endif %}">
|
30
|
+
{{ text | markdownify | replace:'<p>','' | replace:'</p>','' }}
|
31
|
+
</p>
|
32
|
+
{% endif %}
|
33
|
+
</div>
|
34
|
+
|
35
|
+
<nav class="sidebar-nav heading" role="navigation">
|
36
|
+
{% include body/nav.html %}
|
37
|
+
</nav>
|
38
|
+
|
39
|
+
{% assign author = site.data.authors.first[1] | default:site.author %}
|
40
|
+
|
41
|
+
<div class="sidebar-social">
|
42
|
+
{% include components/social.html author=author %}
|
43
|
+
</div>
|
44
|
+
</div>
|
45
|
+
</header>
|
46
|
+
</hy-drawer>
|
47
|
+
<hr class="sr-only" hidden />
|
@@ -0,0 +1,8 @@
|
|
1
|
+
{% assign author = site.data.authors[page.author] | default:site.data.authors.first[1] | default:site.author %}
|
2
|
+
|
3
|
+
{% if author.about %}
|
4
|
+
<aside class="about related mt4 mb4" role="complementary">
|
5
|
+
{% assign about_heading = site.data.strings.about | default:"About" %}
|
6
|
+
{% include components/author.html author=author heading=about_heading heading_tag='h2' %}
|
7
|
+
</aside>
|
8
|
+
{% endif %}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
{% assign plugins = site.plugins | default:site.gems %}
|
2
|
+
|
3
|
+
<div class="author mt4">
|
4
|
+
{% assign author = include.author %}
|
5
|
+
|
6
|
+
{% if author.picture %}
|
7
|
+
{% include components/hy-img.html class="avatar" img=author.picture alt=author.name %}
|
8
|
+
{% elsif plugins contains 'jekyll-avatar' %}
|
9
|
+
{% assign avatar = author.social.github | default:author.github.username | default:author.github %}
|
10
|
+
{% include components/avatar-tag.html user=avatar %}
|
11
|
+
{% endif %}
|
12
|
+
|
13
|
+
{% assign heading_tag = include.heading_tag | default:'h2' %}
|
14
|
+
{% assign heading_id = include.heading_id %}
|
15
|
+
<{{ heading_tag }} {% if heading_id %}id="{{ heading_id }}"{% endif %} class="page-title hr">
|
16
|
+
{{ include.heading | default:author.name }}
|
17
|
+
</{{ heading_tag }}>
|
18
|
+
|
19
|
+
{{ .author.about | markdownify }}
|
20
|
+
|
21
|
+
<div class="sidebar-social">
|
22
|
+
{% include components/social.html author=author %}
|
23
|
+
</div>
|
24
|
+
</div>
|