Bladeren bron

Math (#14)

* MathJax support

There was no support for displaying math written in Latex. This is now added with the help of MathJax.

MathJax uses an external Javascript file and as not to add unnecessary load the support for math is only enabled if the 'math' param is set to true.

* MathJax support

There was no support for displaying math written in Latex. This is now added with the help of MathJax.

MathJax uses an external Javascript file and as not to add unnecessary load the support for math is only enabled if the 'math' param is set to true.

* Auto stash before merge of "math" and "origin/math"

* Delete unnecessary option

* Actually enable math for demo page

* Have demo page be consistent
Vlad Ionescu 7 jaren geleden
bovenliggende
commit
0f2bd0c0a6
2 gewijzigde bestanden met toevoegingen van 32 en 0 verwijderingen
  1. 7 0
      exampleSite/content/posts/theme-demo.md
  2. 25 0
      layouts/partials/post.html

+ 7 - 0
exampleSite/content/posts/theme-demo.md

@@ -1,6 +1,7 @@
 +++
 date = "2017-01-08"
 title = "Theme Demo"
+math = "true"
 
 +++
 
@@ -26,6 +27,12 @@ _This is italic text_
 
 ~~Deleted text~~
 
+This is text with inline math $\sum_{n=1}^{\infty} 2^{-n} = 1$ and with math blocks:
+
+$$
+\sum_{n=1}^{\infty} 2^{-n} = 1
+$$
+
 | Heading | Another heading |
 | :----:  | :-------------: |
 |  text   |      text       |

+ 25 - 0
layouts/partials/post.html

@@ -3,6 +3,31 @@
     <header>
       <h1 class="title">{{ .Title }}</h1>
       <h2 class="date">{{ .Date.Format "January 2, 2006" }}</h2>
+
+      {{ if eq .Params.math "true" }}
+        <script type="text/javascript" async
+          src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.4/MathJax.js?config=TeX-AMS-MML_HTMLorMML-full">
+          MathJax.Hub.Config({
+            tex2jax: {
+              inlineMath: [['$','$']],
+              displayMath: [['$$','$$']],
+              processEscapes: true,
+              processEnvironments: true,
+              skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'],
+              TeX: { extensions: ["AMSmath.js", "AMSsymbols.js"] }
+            }
+          });
+          MathJax.Hub.Queue(function() {
+            // Fix <code> tags after MathJax finishes running. This is a
+            // hack to overcome a shortcoming of Markdown. Discussion at
+            // https://github.com/mojombo/jekyll/issues/199
+            var all = MathJax.Hub.getAllJax(), i;
+            for(i = 0; i < all.length; i += 1) {
+                all[i].SourceElement().parentNode.className += ' has-jax';
+            }
+          });
+          </script>
+      {{ end }}
     </header>
 
     {{ .Content }}