51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
# File 'lib/al_math.rb', line 51
def render(context)
site = context.registers[:site]
page = context.registers[:page] || context['page'] || {}
return '' unless site
cfg = site.config
libs = cfg['third_party_libraries'] || {}
baseurl = cfg['baseurl'] || ''
out = []
if truthy?(cfg['enable_math'])
out << %(<script defer type="text/javascript" id="MathJax-script" src="#{libs.dig('mathjax', 'url', 'js')}" integrity="#{libs.dig('mathjax', 'integrity', 'js')}" crossorigin="anonymous"></script>)
if truthy?(page['pseudocode'])
out << %(<script src="#{baseurl}/assets/al_math/js/pseudocode-setup.js"></script>)
out << %(<script type="text/javascript" src="#{libs.dig('pseudocode', 'url', 'js')}" integrity="#{libs.dig('pseudocode', 'integrity', 'js')}" crossorigin="anonymous"></script>)
else
out << %(<script src="#{baseurl}/assets/al_math/js/mathjax-setup.js"></script>)
end
end
if truthy?(page['tikzjax'])
tikz_js = libs.dig('tikzjax', 'url', 'js')
tikz_integrity = libs.dig('tikzjax', 'integrity', 'js')
if !tikz_js.to_s.empty?
if tikz_integrity.to_s.empty?
out << %(<script defer src="#{tikz_js}" type="text/javascript" crossorigin="anonymous"></script>)
else
out << %(<script defer src="#{tikz_js}" type="text/javascript" integrity="#{tikz_integrity}" crossorigin="anonymous"></script>)
end
end
end
out.join("\n")
end
|