jekyll-theme-hydejack 8.3.2 → 8.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (96) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +26 -27
  3. data/_includes/body/footer.html +1 -1
  4. data/_includes/head/links.html +1 -1
  5. data/_includes/head/meta.html +5 -1
  6. data/_includes/head/styles.html +1 -1
  7. data/_includes/header.txt +1 -1
  8. data/_includes/scripts.html +33 -0
  9. data/_layouts/compress.html +1 -1
  10. data/assets/bower_components/katex/.bower.json +6 -6
  11. data/assets/bower_components/katex/bower.json +1 -1
  12. data/assets/bower_components/katex/dist/contrib/auto-render.js +4 -0
  13. data/assets/bower_components/katex/dist/contrib/auto-render.min.js +1 -1
  14. data/assets/bower_components/katex/dist/contrib/auto-render.mjs +215 -0
  15. data/assets/bower_components/katex/dist/contrib/copy-tex.js +9 -4
  16. data/assets/bower_components/katex/dist/contrib/copy-tex.min.css +1 -1
  17. data/assets/bower_components/katex/dist/contrib/copy-tex.min.js +1 -1
  18. data/assets/bower_components/katex/dist/contrib/copy-tex.mjs +85 -0
  19. data/assets/bower_components/katex/dist/contrib/mathtex-script-type.min.js +1 -1
  20. data/assets/bower_components/katex/dist/contrib/mathtex-script-type.mjs +24 -0
  21. data/assets/bower_components/katex/dist/contrib/mhchem.js +3241 -0
  22. data/assets/bower_components/katex/dist/contrib/mhchem.min.js +1 -0
  23. data/assets/bower_components/katex/dist/contrib/mhchem.mjs +3109 -0
  24. data/assets/bower_components/katex/dist/fonts/KaTeX_AMS-Regular.ttf +0 -0
  25. data/assets/bower_components/katex/dist/fonts/KaTeX_AMS-Regular.woff +0 -0
  26. data/assets/bower_components/katex/dist/fonts/KaTeX_AMS-Regular.woff2 +0 -0
  27. data/assets/bower_components/katex/dist/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
  28. data/assets/bower_components/katex/dist/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
  29. data/assets/bower_components/katex/dist/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
  30. data/assets/bower_components/katex/dist/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
  31. data/assets/bower_components/katex/dist/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
  32. data/assets/bower_components/katex/dist/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
  33. data/assets/bower_components/katex/dist/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
  34. data/assets/bower_components/katex/dist/fonts/KaTeX_Fraktur-Bold.woff +0 -0
  35. data/assets/bower_components/katex/dist/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
  36. data/assets/bower_components/katex/dist/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
  37. data/assets/bower_components/katex/dist/fonts/KaTeX_Fraktur-Regular.woff +0 -0
  38. data/assets/bower_components/katex/dist/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
  39. data/assets/bower_components/katex/dist/fonts/KaTeX_Main-Bold.ttf +0 -0
  40. data/assets/bower_components/katex/dist/fonts/KaTeX_Main-Bold.woff +0 -0
  41. data/assets/bower_components/katex/dist/fonts/KaTeX_Main-Bold.woff2 +0 -0
  42. data/assets/bower_components/katex/dist/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
  43. data/assets/bower_components/katex/dist/fonts/KaTeX_Main-BoldItalic.woff +0 -0
  44. data/assets/bower_components/katex/dist/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
  45. data/assets/bower_components/katex/dist/fonts/KaTeX_Main-Italic.ttf +0 -0
  46. data/assets/bower_components/katex/dist/fonts/KaTeX_Main-Italic.woff +0 -0
  47. data/assets/bower_components/katex/dist/fonts/KaTeX_Main-Italic.woff2 +0 -0
  48. data/assets/bower_components/katex/dist/fonts/KaTeX_Main-Regular.ttf +0 -0
  49. data/assets/bower_components/katex/dist/fonts/KaTeX_Main-Regular.woff +0 -0
  50. data/assets/bower_components/katex/dist/fonts/KaTeX_Main-Regular.woff2 +0 -0
  51. data/assets/bower_components/katex/dist/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
  52. data/assets/bower_components/katex/dist/fonts/KaTeX_Math-BoldItalic.woff +0 -0
  53. data/assets/bower_components/katex/dist/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
  54. data/assets/bower_components/katex/dist/fonts/KaTeX_Math-Italic.ttf +0 -0
  55. data/assets/bower_components/katex/dist/fonts/KaTeX_Math-Italic.woff +0 -0
  56. data/assets/bower_components/katex/dist/fonts/KaTeX_Math-Italic.woff2 +0 -0
  57. data/assets/bower_components/katex/dist/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
  58. data/assets/bower_components/katex/dist/fonts/KaTeX_SansSerif-Bold.woff +0 -0
  59. data/assets/bower_components/katex/dist/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
  60. data/assets/bower_components/katex/dist/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
  61. data/assets/bower_components/katex/dist/fonts/KaTeX_SansSerif-Italic.woff +0 -0
  62. data/assets/bower_components/katex/dist/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
  63. data/assets/bower_components/katex/dist/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
  64. data/assets/bower_components/katex/dist/fonts/KaTeX_SansSerif-Regular.woff +0 -0
  65. data/assets/bower_components/katex/dist/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
  66. data/assets/bower_components/katex/dist/fonts/KaTeX_Script-Regular.ttf +0 -0
  67. data/assets/bower_components/katex/dist/fonts/KaTeX_Script-Regular.woff +0 -0
  68. data/assets/bower_components/katex/dist/fonts/KaTeX_Script-Regular.woff2 +0 -0
  69. data/assets/bower_components/katex/dist/fonts/KaTeX_Size1-Regular.ttf +0 -0
  70. data/assets/bower_components/katex/dist/fonts/KaTeX_Size1-Regular.woff +0 -0
  71. data/assets/bower_components/katex/dist/fonts/KaTeX_Size1-Regular.woff2 +0 -0
  72. data/assets/bower_components/katex/dist/fonts/KaTeX_Size2-Regular.ttf +0 -0
  73. data/assets/bower_components/katex/dist/fonts/KaTeX_Size2-Regular.woff +0 -0
  74. data/assets/bower_components/katex/dist/fonts/KaTeX_Size2-Regular.woff2 +0 -0
  75. data/assets/bower_components/katex/dist/fonts/KaTeX_Size3-Regular.ttf +0 -0
  76. data/assets/bower_components/katex/dist/fonts/KaTeX_Size3-Regular.woff +0 -0
  77. data/assets/bower_components/katex/dist/fonts/KaTeX_Size3-Regular.woff2 +0 -0
  78. data/assets/bower_components/katex/dist/fonts/KaTeX_Size4-Regular.ttf +0 -0
  79. data/assets/bower_components/katex/dist/fonts/KaTeX_Size4-Regular.woff +0 -0
  80. data/assets/bower_components/katex/dist/fonts/KaTeX_Size4-Regular.woff2 +0 -0
  81. data/assets/bower_components/katex/dist/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
  82. data/assets/bower_components/katex/dist/fonts/KaTeX_Typewriter-Regular.woff +0 -0
  83. data/assets/bower_components/katex/dist/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
  84. data/assets/bower_components/katex/dist/katex.css +8 -4
  85. data/assets/bower_components/katex/dist/katex.js +470 -414
  86. data/assets/bower_components/katex/dist/katex.min.css +1 -1
  87. data/assets/bower_components/katex/dist/katex.min.js +1 -1
  88. data/assets/bower_components/katex/dist/katex.mjs +495 -456
  89. data/assets/bower_components/katex/yarn.lock +3091 -2622
  90. data/assets/css/{hydejack-8.3.2.css → hydejack-7.5.2.css} +0 -0
  91. data/assets/css/hydejack-8.4.0.css +3 -0
  92. data/assets/js/hydejack-8.4.0.js +47 -0
  93. data/assets/version.json +1 -1
  94. metadata +12 -5
  95. data/assets/bower_components/katex/dist/README.md +0 -90
  96. data/assets/bower_components/katex/lint_blacklist.txt +0 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: db6d56c0ff6f36a1d8a1ae3a96f38d11cbb7bfaa
4
- data.tar.gz: b3d902d9f740f97e9ebd0f794491eda6dcc09d32
3
+ metadata.gz: 12a2ea5a7563b85475351cfeb46e01ff40521977
4
+ data.tar.gz: 85c04dea0b8e7be84303a8dae2eb55af0f0dce30
5
5
  SHA512:
6
- metadata.gz: deab581627b6b013b73d2326ae1bca464a0ddeacc7735252da51288f9b644d1c28a0c9e2d4b777b7be34a1401d2ca2b3a9096a6c39460c027ef9964fffcfeb84
7
- data.tar.gz: 708bee55f03e3fa5c98d725d9fca84bb79cb8e42d1940c956bab4f6b38366060cf18cee583f53dccc0eac41924425a7c1d3b86b6680612b029c035b78a753df9
6
+ metadata.gz: 58910d20fddb272eed7b832918b40648aab4aab3e4e2176367c9ab516e889e6648f9789b9541fc883ac48ad3e30ff664141c5b78d8db0006de55e96e88f1f60a
7
+ data.tar.gz: 5f04362e44fe40d162277de2aa1847cb19ef5855c9e5e04ef9f4761d0152b67808156f561aa21381c54b793338ee7ab261cddef7cfba86bec953b7f7fb3442a6
data/README.md CHANGED
@@ -14,9 +14,25 @@ Hydejack's cover page on a variety of screens.
14
14
 
15
15
  There are two versions of **Hydejack**: The base version is free, while features that are specific to *professionals* are a payed upgrade.
16
16
 
17
- [**Download Free**][kit]
18
- – or –
19
- [**Buy PRO**][buy]
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 | | ✔ |
27
+ | Cookie Banner | | ✔ |
28
+ | Offline Support | | ✔ |
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**][buy] |
35
+
20
36
 
21
37
 
22
38
  ## A Free Blogging Theme
@@ -64,32 +80,12 @@ They say math is beautiful — and with **Hydejack**'s [math support][latex] it'
64
80
  Hydejack uses KaTeX to efficiently render math.
65
81
 
66
82
 
67
- <!-- $$
68
- \begin{aligned}
69
- \phi(x,y) &= \phi \left(\sum_{i=1}^n x_ie_i, \sum_{j=1}^n y_je_j \right) \\[2em]
70
- &= \sum_{i=1}^n \sum_{j=1}^n x_i y_j \phi(e_i, e_j) \\[2em]
71
- &= (x_1, \ldots, x_n)
72
- \left(\begin{array}{ccc}
73
- \phi(e_1, e_1) & \cdots & \phi(e_1, e_n) \\
74
- \vdots & \ddots & \vdots \\
75
- \phi(e_n, e_1) & \cdots & \phi(e_n, e_n)
76
- \end{array}\right)
77
- \left(\begin{array}{c}
78
- y_1 \\
79
- \vdots \\
80
- y_n
81
- \end{array}\right)
82
- \end{aligned}
83
- $$ -->
84
-
85
83
 
86
84
  ## Build an Audience
87
85
  The PRO version has built-in support for customizable [Tinyletter] newsletter subscription boxes.
88
86
 
89
87
  If you are using a different service like MailChimp, you can build a custom newsletter subscription box using [Custom Forms][forms].
90
88
 
91
- {% include pro/newsletter.html %}
92
-
93
89
 
94
90
  ## A Personal Site That Belongs to You
95
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.
@@ -103,7 +99,7 @@ An incomplete list of features included in all versions of **Hydejack**:
103
99
  * Lazy image loading with cancellation and placeholder, powered by [hy-img]
104
100
  * Advanced FLIP animations, inspired by Material Design
105
101
  * 99/100 [Google PageSpeed Score][gpss][^2]
106
- * [Syntax highlighting](#syntax-highlighting), powered by [Rouge]
102
+ * [Syntax highlighting][syntax], powered by [Rouge]
107
103
  * [LaTeX math blocks][latex], powered by [KaTeX]
108
104
  * Change the wording of built-in strings and possibly translate in other languages
109
105
  * Support for categories and tags
@@ -112,7 +108,6 @@ An incomplete list of features included in all versions of **Hydejack**:
112
108
  * Structured Data for core entities
113
109
  * Author section below each article and support for multiple authors
114
110
  * Google Analytics and Google Fonts support
115
- * Disqus comments
116
111
 
117
112
 
118
113
  ## Download
@@ -139,7 +134,9 @@ This table below shows what's included in each version:
139
134
  | Source | [GitHub][src] | Included |
140
135
  | Support[^1] | No | No |
141
136
  | Price | Free | $59 |
142
- | | [**Download**][kit] | [**Buy PRO**][buy] |
137
+ | | [**Download**][kit] <br/>-- or --<br/> [![Deploy to Netlify][dtn]][nfy] | [**Buy PRO**][buy] |
138
+
139
+
143
140
 
144
141
 
145
142
  [^1]: You MAY open an issue on GitHub, but no response and/or fix is guaranteed.
@@ -163,10 +160,12 @@ This table below shows what's included in each version:
163
160
  [pro]: licenses/PRO.md
164
161
  [docs]: docs/README.md
165
162
 
166
- [kit]: https://github.com/qwtel/hy-starter-kit/archive/v8.1.1.zip
163
+ [kit]: https://github.com/qwtel/hydejack-starter-kit/archive/v8.4.0.zip
167
164
  [src]: https://github.com/qwtel/hydejack
168
165
  [gem]: https://rubygems.org/gems/jekyll-theme-hydejack
169
166
  [buy]: https://app.simplegoods.co/i/NATYVLYT
167
+ [nfy]: https://app.netlify.com/start/deploy?repository=https://github.com/qwtel/hydejack-starter-kit
168
+ [dtn]: https://www.netlify.com/img/deploy/button.svg
170
169
 
171
170
  [gpss]: https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Fhydejack.com%2F
172
171
  [hy-push-state]: https://qwtel.com/hy-push-state/
@@ -13,7 +13,7 @@
13
13
  {% endfor %}
14
14
  </small></nav>
15
15
  {% endif %}
16
- <p><small>Powered by <a class="external" href="https://hydejack.com/">Hydejack</a> v<span id="_version">8.3.2</span></small></p>
16
+ <p><small>Powered by <a class="external" href="https://hydejack.com/">Hydejack</a> v<span id="_version">8.4.0</span></small></p>
17
17
  <hr class="sr-only"/>
18
18
  </footer>
19
19
  {% endif %}
@@ -20,7 +20,7 @@
20
20
  This is to avoid hard-coding URLs in JS (where they can't be discovered by automated tools).
21
21
  -->{% endcomment %}
22
22
  <link rel="dns-prefetch" href="{{ '/' | relative_url }}" id="_baseURL">
23
- <link rel="dns-prefetch" href="{{ '/assets/js/hydejack-8.3.2.js' | relative_url }}" id="_hrefJS">
23
+ <link rel="dns-prefetch" href="{{ '/assets/js/hydejack-8.4.0.js' | relative_url }}" id="_hrefJS">
24
24
  <link rel="dns-prefetch" href="{{ '/sw.js' | relative_url }}" id="_hrefSW">
25
25
  <link rel="dns-prefetch" href="{{ '/assets/bower_components/fontfaceobserver/fontfaceobserver.standalone.js' | relative_url }}" id="_hrefFFO">
26
26
  <link rel="dns-prefetch" href="{{ '/assets/bower_components/katex/dist/katex.min.js' | relative_url }}" id="_hrefKatexJS">
@@ -2,6 +2,10 @@
2
2
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
3
3
  <meta http-equiv="x-ua-compatible" content="ie=edge">
4
4
 
5
+ {% if page.noindex %}
6
+ <meta name="robots" content="noindex">
7
+ {% endif %}
8
+
5
9
  {% unless page.redirect %}
6
10
  {% if plugins contains 'jekyll-seo-tag' %}{% include head/seo-tag.html %}
7
11
  {% else %}{% include head/seo-fallback.html %}{% endif %}
@@ -27,4 +31,4 @@
27
31
  <meta name="theme-color" content="{{ theme_color | default:'#193747' }}">
28
32
  {% endunless %}
29
33
 
30
- <meta name="generator" content="Hydejack v8.3.2" />
34
+ <meta name="generator" content="Hydejack v8.4.0" />
@@ -1,5 +1,5 @@
1
1
  <!--[if gt IE 8]><!---->
2
- {% capture style_url %}{% link assets/css/hydejack-8.3.2.css %}{% endcapture %}
2
+ {% capture style_url %}{% link assets/css/hydejack-8.4.0.css %}{% endcapture %}
3
3
  {% capture icons_url %}{% link assets/icomoon/style.css %}{% endcapture %}
4
4
  {% capture fonts_url %}https://fonts.googleapis.com/css?family={{ google_fonts }}{% endcapture %}
5
5
 
data/_includes/header.txt CHANGED
@@ -9,5 +9,5 @@
9
9
  * /\___/ \ \____/
10
10
  * \/__/ \/___/
11
11
  *
12
- * Powered by Hydejack v8.3.2 <https://hydejack.com/>
12
+ * Powered by Hydejack v8.4.0 <https://hydejack.com/>
13
13
  */
@@ -0,0 +1,33 @@
1
+ {% unless page.redirect %}
2
+ {% if site.google_analytics %}
3
+ <script>
4
+ window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
5
+ {% if site.hydejack.cookies_banner %}
6
+ if (navigator.CookiesOK) {
7
+ ga('create', '{{ site.google_analytics }}', 'auto');
8
+ } else if (localStorage && localStorage.getItem('hy:cookiesOK')) {
9
+ ga('create', '{{ site.google_analytics }}', {
10
+ 'storage': 'none',
11
+ 'clientId': localStorage.getItem('ga:clientId')
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
+ ga('send', 'pageview');
24
+ loadJSDeferred('https://www.google-analytics.com/analytics.js');
25
+ </script>
26
+ {% endif %}
27
+
28
+ <!--[if gt IE 9]><!---->
29
+ {% capture js_url %}{% link assets/js/hydejack-7.5.2.js %}{% endcapture %}
30
+ <script>loadJSDeferred('{{ js_url | relative_url }}');</script>
31
+ {% include my-scripts.html %}
32
+ <!--<![endif]-->
33
+ {% endunless %}
@@ -10,6 +10,6 @@
10
10
  /\___/ \ \____/
11
11
  \/__/ \/___/
12
12
 
13
- Powered by Hydejack v8.3.2 <https://hydejack.com/>
13
+ Powered by Hydejack v8.4.0 <https://hydejack.com/>
14
14
  -->{% capture _LINE_FEED %}
15
15
  {% endcapture %}{% if site.compress_html.ignore.envs contains jekyll.environment %}{{ content }}{% else %}{% capture _content %}{{ content }}{% endcapture %}{% assign _profile = site.compress_html.profile %}{% if site.compress_html.endings == "all" %}{% assign _endings = "html head body li dt dd p rt rp optgroup option colgroup caption thead tbody tfoot tr td th" | split: " " %}{% else %}{% assign _endings = site.compress_html.endings %}{% endif %}{% for _element in _endings %}{% capture _end %}</{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _end %}{% endfor %}{% if _profile and _endings %}{% assign _profile_endings = _content | size | plus: 1 %}{% endif %}{% for _element in site.compress_html.startings %}{% capture _start %}<{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _start %}{% endfor %}{% if _profile and site.compress_html.startings %}{% assign _profile_startings = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.comments == "all" %}{% assign _comments = "<!-- -->" | split: " " %}{% else %}{% assign _comments = site.compress_html.comments %}{% endif %}{% if _comments.size == 2 %}{% capture _comment_befores %}.{{ _content }}{% endcapture %}{% assign _comment_befores = _comment_befores | split: _comments.first %}{% for _comment_before in _comment_befores %}{% if forloop.first %}{% continue %}{% endif %}{% capture _comment_outside %}{% if _carry %}{{ _comments.first }}{% endif %}{{ _comment_before }}{% endcapture %}{% capture _comment %}{% unless _carry %}{{ _comments.first }}{% endunless %}{{ _comment_outside | split: _comments.last | first }}{% if _comment_outside contains _comments.last %}{{ _comments.last }}{% assign _carry = false %}{% else %}{% assign _carry = true %}{% endif %}{% endcapture %}{% assign _content = _content | remove_first: _comment %}{% endfor %}{% if _profile %}{% assign _profile_comments = _content | size | plus: 1 %}{% endif %}{% endif %}{% assign _pre_befores = _content | split: "<pre" %}{% assign _content = "" %}{% for _pre_before in _pre_befores %}{% assign _pres = _pre_before | split: "</pre>" %}{% assign _pres_after = "" %}{% if _pres.size != 0 %}{% if site.compress_html.blanklines %}{% assign _lines = _pres.last | split: _LINE_FEED %}{% capture _pres_after %}{% for _line in _lines %}{% assign _trimmed = _line | split: " " | join: " " %}{% if _trimmed != empty or forloop.last %}{% unless forloop.first %}{{ _LINE_FEED }}{% endunless %}{{ _line }}{% endif %}{% endfor %}{% endcapture %}{% else %}{% assign _pres_after = _pres.last | split: " " | join: " " %}{% endif %}{% endif %}{% capture _content %}{{ _content }}{% if _pre_before contains "</pre>" %}<pre{{ _pres.first }}</pre>{% endif %}{% unless _pre_before contains "</pre>" and _pres.size == 1 %}{{ _pres_after }}{% endunless %}{% endcapture %}{% endfor %}{% if _profile %}{% assign _profile_collapse = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.clippings == "all" %}{% assign _clippings = "html head title base link meta style body article section nav aside h1 h2 h3 h4 h5 h6 hgroup header footer address p hr blockquote ol ul li dl dt dd figure figcaption main div table caption colgroup col tbody thead tfoot tr td th" | split: " " %}{% else %}{% assign _clippings = site.compress_html.clippings %}{% endif %}{% for _element in _clippings %}{% assign _edges = " <e;<e; </e>;</e>;</e> ;</e>" | replace: "e", _element | split: ";" %}{% assign _content = _content | replace: _edges[0], _edges[1] | replace: _edges[2], _edges[3] | replace: _edges[4], _edges[5] %}{% endfor %}{% if _profile and _clippings %}{% assign _profile_clippings = _content | size | plus: 1 %}{% endif %}{{ _content }}{% if _profile %} <table id="compress_html_profile_{{ site.time | date: "%Y%m%d" }}" class="compress_html_profile"> <thead> <tr> <td>Step <td>Bytes <tbody> <tr> <td>raw <td>{{ content | size }}{% if _profile_endings %} <tr> <td>endings <td>{{ _profile_endings }}{% endif %}{% if _profile_startings %} <tr> <td>startings <td>{{ _profile_startings }}{% endif %}{% if _profile_comments %} <tr> <td>comments <td>{{ _profile_comments }}{% endif %}{% if _profile_collapse %} <tr> <td>collapse <td>{{ _profile_collapse }}{% endif %}{% if _profile_clippings %} <tr> <td>clippings <td>{{ _profile_clippings }}{% endif %} </table>{% endif %}{% endif %}</html>
@@ -14,7 +14,7 @@
14
14
  "license": "MIT",
15
15
  "repository": {
16
16
  "type": "git",
17
- "url": "git://github.com/Khan/KaTeX.git"
17
+ "url": "git://github.com/KaTeX/KaTeX.git"
18
18
  },
19
19
  "ignore": [
20
20
  "**/.*",
@@ -33,15 +33,15 @@
33
33
  "/static",
34
34
  "/website"
35
35
  ],
36
- "version": "0.10.0",
37
- "_release": "0.10.0",
36
+ "version": "0.10.1",
37
+ "_release": "0.10.1",
38
38
  "_resolution": {
39
39
  "type": "version",
40
- "tag": "v0.10.0",
41
- "commit": "e1361b5ea5e750aa09833eed7f0a92f042387675"
40
+ "tag": "v0.10.1",
41
+ "commit": "e77bf08983d4d5f8df6490e703173fa9ea9aac8b"
42
42
  },
43
43
  "_source": "https://github.com/Khan/KaTeX.git",
44
- "_target": "0.10.0",
44
+ "_target": "0.10.1",
45
45
  "_originalSource": "katex",
46
46
  "_direct": true
47
47
  }
@@ -14,7 +14,7 @@
14
14
  "license": "MIT",
15
15
  "repository": {
16
16
  "type": "git",
17
- "url": "git://github.com/Khan/KaTeX.git"
17
+ "url": "git://github.com/KaTeX/KaTeX.git"
18
18
  },
19
19
  "ignore": [
20
20
  "**/.*",
@@ -242,6 +242,10 @@ var auto_render_renderMathInText = function renderMathInText(text, optionsCopy)
242
242
  optionsCopy.displayMode = data[i].display;
243
243
 
244
244
  try {
245
+ if (optionsCopy.preProcess) {
246
+ math = optionsCopy.preProcess(math);
247
+ }
248
+
245
249
  external_katex_default.a.render(math, span, optionsCopy);
246
250
  } catch (e) {
247
251
  if (!(e instanceof external_katex_default.a.ParseError)) {
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("katex")):"function"==typeof define&&define.amd?define(["katex"],t):"object"==typeof exports?exports.renderMathInElement=t(require("katex")):e.renderMathInElement=t(e.katex)}("undefined"!=typeof self?self:this,function(r){return function(r){var n={};function o(e){if(n[e])return n[e].exports;var t=n[e]={i:e,l:!1,exports:{}};return r[e].call(t.exports,t,t.exports,o),t.l=!0,t.exports}return o.m=r,o.c=n,o.d=function(e,t,r){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(o.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var n in t)o.d(r,n,function(e){return t[e]}.bind(null,n));return r},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=1)}([function(e,t){e.exports=r},function(e,t,r){"use strict";r.r(t);var n=r(0),l=r.n(n),s=function(e,t,r){for(var n=r,o=0,a=e.length;n<t.length;){var i=t[n];if(o<=0&&t.slice(n,n+a)===e)return n;"\\"===i?n++:"{"===i?o++:"}"===i&&o--,n++}return-1},d=function(e,t,r,n){for(var o=[],a=0;a<e.length;a++)if("text"===e[a].type){var i=e[a].data,l=!0,d=0,f=void 0;for(-1!==(f=i.indexOf(t))&&(d=f,o.push({type:"text",data:i.slice(0,d)}),l=!1);;){if(l){if(-1===(f=i.indexOf(t,d)))break;o.push({type:"text",data:i.slice(d,f)}),d=f}else{if(-1===(f=s(r,i,d+t.length)))break;o.push({type:"math",data:i.slice(d+t.length,f),rawData:i.slice(d,f+r.length),display:n}),d=f+r.length}l=!l}o.push({type:"text",data:i.slice(d)})}else o.push(e[a]);return o},i=function(e,t){for(var r=function(e,t){for(var r=[{type:"text",data:e}],n=0;n<t.length;n++){var o=t[n];r=d(r,o.left,o.right,o.display||!1)}return r}(e,t.delimiters),n=document.createDocumentFragment(),o=0;o<r.length;o++)if("text"===r[o].type)n.appendChild(document.createTextNode(r[o].data));else{var a=document.createElement("span"),i=r[o].data;t.displayMode=r[o].display;try{l.a.render(i,a,t)}catch(e){if(!(e instanceof l.a.ParseError))throw e;t.errorCallback("KaTeX auto-render: Failed to parse `"+r[o].data+"` with ",e),n.appendChild(document.createTextNode(r[o].rawData));continue}n.appendChild(a)}return n};t.default=function(e,t){if(!e)throw new Error("No element provided to render");var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]=t[n]);r.delimiters=r.delimiters||[{left:"$$",right:"$$",display:!0},{left:"\\(",right:"\\)",display:!1},{left:"\\[",right:"\\]",display:!0}],r.ignoredTags=r.ignoredTags||["script","noscript","style","textarea","pre","code"],r.ignoredClasses=r.ignoredClasses||[],r.errorCallback=r.errorCallback||console.error,r.macros=r.macros||{},function e(t,r){for(var n=0;n<t.childNodes.length;n++){var o=t.childNodes[n];if(3===o.nodeType){var a=i(o.textContent,r);n+=a.childNodes.length-1,t.replaceChild(a,o)}else 1===o.nodeType&&function(){var t=" "+o.className+" ";-1===r.ignoredTags.indexOf(o.nodeName.toLowerCase())&&r.ignoredClasses.every(function(e){return-1===t.indexOf(" "+e+" ")})&&e(o,r)}()}}(e,r)}}]).default});
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("katex")):"function"==typeof define&&define.amd?define(["katex"],t):"object"==typeof exports?exports.renderMathInElement=t(require("katex")):e.renderMathInElement=t(e.katex)}("undefined"!=typeof self?self:this,function(e){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=1)}([function(t,r){t.exports=e},function(e,t,r){"use strict";r.r(t);var n=r(0),o=r.n(n),a=function(e,t,r){for(var n=r,o=0,a=e.length;n<t.length;){var i=t[n];if(o<=0&&t.slice(n,n+a)===e)return n;"\\"===i?n++:"{"===i?o++:"}"===i&&o--,n++}return-1},i=function(e,t,r,n){for(var o=[],i=0;i<e.length;i++)if("text"===e[i].type){var l=e[i].data,d=!0,s=0,f=void 0;for(-1!==(f=l.indexOf(t))&&(s=f,o.push({type:"text",data:l.slice(0,s)}),d=!1);;){if(d){if(-1===(f=l.indexOf(t,s)))break;o.push({type:"text",data:l.slice(s,f)}),s=f}else{if(-1===(f=a(r,l,s+t.length)))break;o.push({type:"math",data:l.slice(s+t.length,f),rawData:l.slice(s,f+r.length),display:n}),s=f+r.length}d=!d}o.push({type:"text",data:l.slice(s)})}else o.push(e[i]);return o},l=function(e,t){for(var r=function(e,t){for(var r=[{type:"text",data:e}],n=0;n<t.length;n++){var o=t[n];r=i(r,o.left,o.right,o.display||!1)}return r}(e,t.delimiters),n=document.createDocumentFragment(),a=0;a<r.length;a++)if("text"===r[a].type)n.appendChild(document.createTextNode(r[a].data));else{var l=document.createElement("span"),d=r[a].data;t.displayMode=r[a].display;try{t.preProcess&&(d=t.preProcess(d)),o.a.render(d,l,t)}catch(e){if(!(e instanceof o.a.ParseError))throw e;t.errorCallback("KaTeX auto-render: Failed to parse `"+r[a].data+"` with ",e),n.appendChild(document.createTextNode(r[a].rawData));continue}n.appendChild(l)}return n};t.default=function(e,t){if(!e)throw new Error("No element provided to render");var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]=t[n]);r.delimiters=r.delimiters||[{left:"$$",right:"$$",display:!0},{left:"\\(",right:"\\)",display:!1},{left:"\\[",right:"\\]",display:!0}],r.ignoredTags=r.ignoredTags||["script","noscript","style","textarea","pre","code"],r.ignoredClasses=r.ignoredClasses||[],r.errorCallback=r.errorCallback||console.error,r.macros=r.macros||{},function e(t,r){for(var n=0;n<t.childNodes.length;n++){var o=t.childNodes[n];if(3===o.nodeType){var a=l(o.textContent,r);n+=a.childNodes.length-1,t.replaceChild(a,o)}else 1===o.nodeType&&function(){var t=" "+o.className+" ";-1===r.ignoredTags.indexOf(o.nodeName.toLowerCase())&&r.ignoredClasses.every(function(e){return-1===t.indexOf(" "+e+" ")})&&e(o,r)}()}}(e,r)}}]).default});
@@ -0,0 +1,215 @@
1
+ import katex from '../katex.mjs';
2
+
3
+ /* eslint no-constant-condition:0 */
4
+ const findEndOfMath = function findEndOfMath(delimiter, text, startIndex) {
5
+ // Adapted from
6
+ // https://github.com/Khan/perseus/blob/master/src/perseus-markdown.jsx
7
+ let index = startIndex;
8
+ let braceLevel = 0;
9
+ const delimLength = delimiter.length;
10
+
11
+ while (index < text.length) {
12
+ const character = text[index];
13
+
14
+ if (braceLevel <= 0 && text.slice(index, index + delimLength) === delimiter) {
15
+ return index;
16
+ } else if (character === "\\") {
17
+ index++;
18
+ } else if (character === "{") {
19
+ braceLevel++;
20
+ } else if (character === "}") {
21
+ braceLevel--;
22
+ }
23
+
24
+ index++;
25
+ }
26
+
27
+ return -1;
28
+ };
29
+
30
+ const splitAtDelimiters = function splitAtDelimiters(startData, leftDelim, rightDelim, display) {
31
+ const finalData = [];
32
+
33
+ for (let i = 0; i < startData.length; i++) {
34
+ if (startData[i].type === "text") {
35
+ const text = startData[i].data;
36
+ let lookingForLeft = true;
37
+ let currIndex = 0;
38
+ let nextIndex;
39
+ nextIndex = text.indexOf(leftDelim);
40
+
41
+ if (nextIndex !== -1) {
42
+ currIndex = nextIndex;
43
+ finalData.push({
44
+ type: "text",
45
+ data: text.slice(0, currIndex)
46
+ });
47
+ lookingForLeft = false;
48
+ }
49
+
50
+ while (true) {
51
+ if (lookingForLeft) {
52
+ nextIndex = text.indexOf(leftDelim, currIndex);
53
+
54
+ if (nextIndex === -1) {
55
+ break;
56
+ }
57
+
58
+ finalData.push({
59
+ type: "text",
60
+ data: text.slice(currIndex, nextIndex)
61
+ });
62
+ currIndex = nextIndex;
63
+ } else {
64
+ nextIndex = findEndOfMath(rightDelim, text, currIndex + leftDelim.length);
65
+
66
+ if (nextIndex === -1) {
67
+ break;
68
+ }
69
+
70
+ finalData.push({
71
+ type: "math",
72
+ data: text.slice(currIndex + leftDelim.length, nextIndex),
73
+ rawData: text.slice(currIndex, nextIndex + rightDelim.length),
74
+ display: display
75
+ });
76
+ currIndex = nextIndex + rightDelim.length;
77
+ }
78
+
79
+ lookingForLeft = !lookingForLeft;
80
+ }
81
+
82
+ finalData.push({
83
+ type: "text",
84
+ data: text.slice(currIndex)
85
+ });
86
+ } else {
87
+ finalData.push(startData[i]);
88
+ }
89
+ }
90
+
91
+ return finalData;
92
+ };
93
+
94
+ /* eslint no-console:0 */
95
+
96
+ const splitWithDelimiters = function splitWithDelimiters(text, delimiters) {
97
+ let data = [{
98
+ type: "text",
99
+ data: text
100
+ }];
101
+
102
+ for (let i = 0; i < delimiters.length; i++) {
103
+ const delimiter = delimiters[i];
104
+ data = splitAtDelimiters(data, delimiter.left, delimiter.right, delimiter.display || false);
105
+ }
106
+
107
+ return data;
108
+ };
109
+ /* Note: optionsCopy is mutated by this method. If it is ever exposed in the
110
+ * API, we should copy it before mutating.
111
+ */
112
+
113
+
114
+ const renderMathInText = function renderMathInText(text, optionsCopy) {
115
+ const data = splitWithDelimiters(text, optionsCopy.delimiters);
116
+ const fragment = document.createDocumentFragment();
117
+
118
+ for (let i = 0; i < data.length; i++) {
119
+ if (data[i].type === "text") {
120
+ fragment.appendChild(document.createTextNode(data[i].data));
121
+ } else {
122
+ const span = document.createElement("span");
123
+ let math = data[i].data; // Override any display mode defined in the settings with that
124
+ // defined by the text itself
125
+
126
+ optionsCopy.displayMode = data[i].display;
127
+
128
+ try {
129
+ if (optionsCopy.preProcess) {
130
+ math = optionsCopy.preProcess(math);
131
+ }
132
+
133
+ katex.render(math, span, optionsCopy);
134
+ } catch (e) {
135
+ if (!(e instanceof katex.ParseError)) {
136
+ throw e;
137
+ }
138
+
139
+ optionsCopy.errorCallback("KaTeX auto-render: Failed to parse `" + data[i].data + "` with ", e);
140
+ fragment.appendChild(document.createTextNode(data[i].rawData));
141
+ continue;
142
+ }
143
+
144
+ fragment.appendChild(span);
145
+ }
146
+ }
147
+
148
+ return fragment;
149
+ };
150
+
151
+ const renderElem = function renderElem(elem, optionsCopy) {
152
+ for (let i = 0; i < elem.childNodes.length; i++) {
153
+ const childNode = elem.childNodes[i];
154
+
155
+ if (childNode.nodeType === 3) {
156
+ // Text node
157
+ const frag = renderMathInText(childNode.textContent, optionsCopy);
158
+ i += frag.childNodes.length - 1;
159
+ elem.replaceChild(frag, childNode);
160
+ } else if (childNode.nodeType === 1) {
161
+ // Element node
162
+ const className = ' ' + childNode.className + ' ';
163
+ const shouldRender = optionsCopy.ignoredTags.indexOf(childNode.nodeName.toLowerCase()) === -1 && optionsCopy.ignoredClasses.every(x => className.indexOf(' ' + x + ' ') === -1);
164
+
165
+ if (shouldRender) {
166
+ renderElem(childNode, optionsCopy);
167
+ }
168
+ } // Otherwise, it's something else, and ignore it.
169
+
170
+ }
171
+ };
172
+
173
+ const renderMathInElement = function renderMathInElement(elem, options) {
174
+ if (!elem) {
175
+ throw new Error("No element provided to render");
176
+ }
177
+
178
+ const optionsCopy = {}; // Object.assign(optionsCopy, option)
179
+
180
+ for (const option in options) {
181
+ if (options.hasOwnProperty(option)) {
182
+ optionsCopy[option] = options[option];
183
+ }
184
+ } // default options
185
+
186
+
187
+ optionsCopy.delimiters = optionsCopy.delimiters || [{
188
+ left: "$$",
189
+ right: "$$",
190
+ display: true
191
+ }, {
192
+ left: "\\(",
193
+ right: "\\)",
194
+ display: false
195
+ }, // LaTeX uses $…$, but it ruins the display of normal `$` in text:
196
+ // {left: "$", right: "$", display: false},
197
+ // \[…\] must come last in this array. Otherwise, renderMathInElement
198
+ // will search for \[ before it searches for $$ or \(
199
+ // That makes it susceptible to finding a \\[0.3em] row delimiter and
200
+ // treating it as if it were the start of a KaTeX math zone.
201
+ {
202
+ left: "\\[",
203
+ right: "\\]",
204
+ display: true
205
+ }];
206
+ optionsCopy.ignoredTags = optionsCopy.ignoredTags || ["script", "noscript", "style", "textarea", "pre", "code"];
207
+ optionsCopy.ignoredClasses = optionsCopy.ignoredClasses || [];
208
+ optionsCopy.errorCallback = optionsCopy.errorCallback || console.error; // Enable sharing of global macros defined via `\gdef` between different
209
+ // math elements within a single call to `renderMathInElement`.
210
+
211
+ optionsCopy.macros = optionsCopy.macros || {};
212
+ renderElem(elem, optionsCopy);
213
+ };
214
+
215
+ export default renderMathInElement;