Trying to get JavaScript switchable between local and cloudflare

Not working for two reasons:
1. `lein npm install` does not build packages on MacOS;
2. `{% ifequal js-from ":cloudflare" %}` breaks Selmer in  wiki.html but not in edit.html - WTF?
This commit is contained in:
Simon Brooke 2020-02-08 10:42:29 +00:00
parent ecd9d5a270
commit e00beaf790
8 changed files with 1371 additions and 19 deletions

1339
package-lock.json generated Normal file

File diff suppressed because it is too large Load diff

View file

@ -40,18 +40,20 @@
:jvm-opts ["-server"] :jvm-opts ["-server"]
:plugins [[lein-ancient "0.5.5" :exclusions [org.clojure/clojure org.clojure/data.xml]] :plugins [[lein-ancient "0.5.5" :exclusions [org.clojure/clojure org.clojure/data.xml]]
[lein-bower "0.5.1"]
[lein-codox "0.10.3"] [lein-codox "0.10.3"]
[io.sarnowski/lein-docker "1.0.0"] [io.sarnowski/lein-docker "1.0.0"]
[lein-environ "1.0.0"] [lein-environ "1.0.0"]
[lein-marginalia "0.7.1" :exclusions [org.clojure/clojure]] [lein-marginalia "0.7.1" :exclusions [org.clojure/clojure]]
[lein-npm "0.6.2"]
[lein-ring "0.12.5" :exclusions [org.clojure/clojure]]] [lein-ring "0.12.5" :exclusions [org.clojure/clojure]]]
:bower-dependencies [[simplemde "1.11.2"] :npm {:dependencies [[simplemde "1.11.2"]
;; [vega-embed "3.0.0-beta.20"] ;; vega-embed currently not loaded from Bower because of [vega "5.8.0"]
;; dependency conflict which will hopefully be resolved soon. [vega-embed "6.2.2"]
[vega-lite "2.0.0-beta.11"] [vega-lite "4.1.1"]
[mermaid "6.0.0"]] [mermaid "8.4.6"]
[tablesort "5.2.0"]]
:root "resources/public/vendor"}
:docker {:image-name "simonbrooke/smeagol" :docker {:image-name "simonbrooke/smeagol"
:dockerfile "Dockerfile"} :dockerfile "Dockerfile"}

View file

@ -37,6 +37,8 @@
"backticks" smeagol.formatting/process-backticks} "backticks" smeagol.formatting/process-backticks}
:log-level :info ;; the minimum logging level; one of :log-level :info ;; the minimum logging level; one of
;; :trace :debug :info :warn :error :fatal ;; :trace :debug :info :warn :error :fatal
:js-from :cloudflare ;; where to load JavaScript libraries
;; from: options are :local, :cloudflare
:passwd "resources/passwd" :passwd "resources/passwd"
;; where the password file is stored ;; where the password file is stored
:site-title "Smeagol"} ;; overall title of the site, used in :site-title "Smeagol"} ;; overall title of the site, used in

View file

@ -1,7 +1,12 @@
{% extends "templates/base.html" %} {% extends "templates/base.html" %}
{% block extra-headers %} {% block extra-headers %}
{% ifequal js-from ":cloudflare" %}
<script src="https://cdnjs.cloudflare.com/ajax/libs/simplemde/1.11.2/simplemde.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/simplemde/1.11.2/simplemde.min.css" rel="stylesheet" type="text/css" />
{% else %}
{% style "/vendor/simplemde/dist/simplemde.min.css" %} {% style "/vendor/simplemde/dist/simplemde.min.css" %}
{% script "/vendor/simplemde/dist/simplemde.min.js" %} {% script "/vendor/simplemde/dist/simplemde.min.js" %}
{% endifequal %}
{% endblock %} {% endblock %}
{% block content %} {% block content %}

View file

@ -1,15 +1,16 @@
{% extends "templates/base.html" %} {% extends "templates/base.html" %}
{% block extra-headers %} {% block extra-headers %}
{% style "vendor/mermaid/dist/mermaid.css" %} <!-- ifequal js-from ":cloudflare" -->
<!-- there's at the time of writing (20170731) a problem with the dependencies of the Bower <script src="https://cdnjs.cloudflare.com/ajax/libs/mermaid/8.4.6/mermaid.min.js"></script>
package for vega-embed, so we're currently not installing either it or Vega locally. <script src="https://cdnjs.cloudflare.com/ajax/libs/vega/5.9.1/vega.min.js"></script>
TODO: fix --> <script src="https://cdnjs.cloudflare.com/ajax/libs/vega-lite/4.1.1/vega-lite.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vega/3.0.0-rc2/vega.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/vega-embed/6.2.2/vega-embed.min.js"></script>
{% script "/vendor/vega-lite/build/vega-lite.js" %} <!-- else -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/vega-embed/3.0.0-beta.19/vega-embed.js"></script> <!-- TODO: currently `lein npm install` fails to build packages on all platforms, and
fails SILENTLY. Consequently setting js-from to local is not advised. Investigting. -->
{% script "vendor/mermaid/dist/mermaid.js" %} <!-- script "vendor/mermaid/dist/mermaid.js" %}
<!-- endifequal -->
{% endblock %} {% endblock %}
{% block content %} {% block content %}

View file

@ -100,6 +100,7 @@
'( {:from :smeagol-content-dir :to :content-dir} '( {:from :smeagol-content-dir :to :content-dir}
{:from :smeagol-default-locale :to :default-locale} {:from :smeagol-default-locale :to :default-locale}
{:from :smeagol-formatters :to :formatters :transform read-string} {:from :smeagol-formatters :to :formatters :transform read-string}
{:from :smeagol-js-from :to :js-from :transform to-keyword}
{:from :smeagol-log-level :to :log-level :transform to-keyword} {:from :smeagol-log-level :to :log-level :transform to-keyword}
{:from :smeagol-passwd :to :passwd} {:from :smeagol-passwd :to :passwd}
{:from :smeagol-site-title :to :site-title})) {:from :smeagol-site-title :to :site-title}))
@ -131,6 +132,7 @@
:smeagol-content-dir :smeagol-content-dir
:smeagol-default-locale :smeagol-default-locale
:smeagol-formatters :smeagol-formatters
:smeagol-js-from
:smeagol-log-level :smeagol-log-level
:smeagol-passwd :smeagol-passwd
:smeagol-site-title) :smeagol-site-title)

View file

@ -78,7 +78,7 @@
index index
" = " " = "
(yaml->json (str "$schema: https://vega.github.io/schema/vega-lite/v2.json\n" vega-src)) (yaml->json (str "$schema: https://vega.github.io/schema/vega-lite/v2.json\n" vega-src))
";\nvega.embed('#vis" ";\nvegaEmbed('#vis"
index index
"', vl" "', vl"
index index

View file

@ -50,6 +50,7 @@
(let [user (session/get :user)] (let [user (session/get :user)]
{:user user {:user user
:admin (auth/get-admin user) :admin (auth/get-admin user)
:js-from (:js-from config)
:side-bar (md->html (slurp (cjio/file content-dir "_side-bar.md"))) :side-bar (md->html (slurp (cjio/file content-dir "_side-bar.md")))
:header (md->html (slurp (cjio/file content-dir "_header.md"))) :header (md->html (slurp (cjio/file content-dir "_header.md")))
:version (System/getProperty "smeagol.version")})) :version (System/getProperty "smeagol.version")}))