OK, this isn't better than 'crude-but-working', but tooling is in place for further work.

This commit is contained in:
Simon Brooke 2025-09-27 11:42:01 +01:00
parent 480032492a
commit 0f06fb501f
6 changed files with 1659 additions and 24 deletions

View file

@ -160,3 +160,14 @@ Troubleshooting
(Optional) ✅ Smoke-test on iOS Safari / Android Chrome. (Optional) ✅ Smoke-test on iOS Safari / Android Chrome.
### Scittle framework included
**NOTE THAT** this repository includes virtually the whole of [Michiel
Borkent](https://github.com/borkdude)'s [Scittle](https://github.com/babashka/scittle) framework, which is copyright Michiel Borkent and others, and is licensed under the Eclipse Puplic License; and Scittle in turn includes a great deal of Clojurescript
This program and the accompanying materials are made available under the
terms of the Eclipse Public License 2.0 which is available at
http://www.eclipse.org/legal/epl-2.0.
### Original code and audio recordings of the Japji project

View file

@ -1,4 +1,8 @@
;; converted from japji-nihung-timings.json using http://cljson.com/ ;; converted from japji-nihung-timings.json using http://cljson.com/
;; TODO: NOTE THAT, because I have found no way to import EDN into
;; a running Scittle session, this file is not currently used --
;; but it is left here as a reminder that it would be the right thing
;; to do!
[{:words [{:text "ੴ", :start 3.482, :end 5.761}], [{:words [{:text "ੴ", :start 3.482, :end 5.761}],
:lineStart 3.482, :lineStart 3.482,

View file

@ -1,4 +1,6 @@
data-js = [ /* Timings as supplied by Lucy */
data = [
{ {
"words": [ "words": [
{ {

View file

@ -78,8 +78,10 @@
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta Content-Language="pa, en-GB"> <meta Content-Language="pa, en-GB">
<script src="scripts/scittle.js" type="text/javascript"></script> <script src="scripts/scittle.js" type="text/javascript"></script>
<script src="scripts/jquery-3.7.1.slim.min.js" type="text/javascript"> <!-- script src="data/japji-nihung-timings.json" type="text/javascript">
parsed=JSON.parse(data);
</script -->
<script src="scripts/japji.cljs" type="application/x-scittle"></script>
</script> </script>
<!-- Have to pull react and react-dom from CDN during development because of obnoxious <!-- Have to pull react and react-dom from CDN during development because of obnoxious
Cross Origin Request nonsense. Makes me wonder whether we should seek not to use them Cross Origin Request nonsense. Makes me wonder whether we should seek not to use them
@ -88,25 +90,24 @@
<script crossorigin src="https://cdn.jsdelivr.net/npm/react-dom@18/umd/react-dom.production.min.js"></script> <script crossorigin src="https://cdn.jsdelivr.net/npm/react-dom@18/umd/react-dom.production.min.js"></script>
<script src="scripts/scittle.reagent.js" type="text/javascript"></script> <script src="scripts/scittle.reagent.js" type="text/javascript"></script>
</script>
<script type="application/x-scittle"> <script type="application/x-scittle">
</script> </script>
</head> </head>
<body> <body>
<div id="popup"></div> <div id="popup"></div>
<h1><span class="en-GB" lang="en-GB">Japji Sahib</span></h1> <h1><span class="gurmukhi" lang="pa">ਜਪੁਜੀ ਸਾਹਿਬ</span> <span class="en-GB" lang="en-GB">(Japji Sahib)</span></h1>
<p>Select words to hear them. Select the bullet • to hear the whole line. Select three dots ... to record your own <p><span class="gurmukhi" lang="pa">ਸੁਣਨ ਲਈ ਸ਼ਬਦ ਚੁਣੋ। ਪੂਰੀ ਲਾਈਨ ਸੁਣਨ ਲਈ ਬੁਲੇਟ • ਚੁਣੋ। ਆਪਣੀ ਆਵਾਜ਼ ਰਿਕਾਰਡ ਕਰਨ ਲਈ ਤਿੰਨ ਬਿੰਦੀਆਂ ਚੁਣੋ ...।</span> </p>
voice.</p> <p class="en-GB" lang="en-GB">(Select words to hear them. Select the bullet • to hear the whole line. Select three dots ... to record your own
voice.)</p>
<audio id="japji-bindranwale" controls src="audio/japji_bindranwale.mp3"></audio> <audio id="japji-bindranwale" controls src="audio/japji_bindranwale.mp3"></audio>
<div id="content"><span class="gurmukhi" lang="pa">ਕ੍ਰਿਪਾ ਕਰਕੇ ਉਡੀਕ ਕਰੋ...</span></div> <div id="content"><span class="gurmukhi" lang="pa">ਕ੍ਰਿਪਾ ਕਰਕੇ ਉਡੀਕ ਕਰੋ...</span></div>
<footer> <footer>
Page scripts copyright &copy; Simon Brooke and Lucy Fyfe 2025 <br> <span class="gurmukhi" lang="pa">ਪੇਜ ਸਕ੍ਰਿਪਟਾਂ ਕਾਪੀਰਾਈਟ ਸਾਈਮਨ ਬਰੂਕ ਅਤੇ ਲੂਸੀ ਫਾਈਫ 2025</span> <span class="en-GB" lang="en-GB">Page scripts copyright &copy; Simon Brooke and Lucy Fyfe 2025</span><br>
Made with <a href="https://babashka.org/scittle/">Scittle</a> <span class="gurmukhi" lang="pa">ਨਾਲ ਬਣਾਇਆ ਗਿਆ</span> <span class="en-GB" lang="en-GB">Made with</span> <a href="https://babashka.org/scittle/">Scittle</a>
</footer> </footer>
</body> </body>

View file

@ -1,7 +1,7 @@
var shadow$provide = {}; var shadow$provide = {};
var CLOSURE_NO_DEPS = true; var CLOSURE_NO_DEPS = true;
var CLOSURE_BASE_PATH = '/js/cljs-runtime/'; var CLOSURE_BASE_PATH = '/js/cljs-runtime/';
var CLOSURE_DEFINES = {"shadow.cljs.devtools.client.env.repl_pprint":true,"shadow.cljs.devtools.client.env.reload_strategy":"optimized","shadow.cljs.devtools.client.env.devtools_url":"","shadow.cljs.devtools.client.env.autoload":true,"shadow.cljs.devtools.client.env.proc_id":"51640c77-bf55-4017-9da5-bcee301cb9ac","shadow.cljs.devtools.client.env.use_document_protocol":false,"goog.ENABLE_DEBUG_LOADER":false,"shadow.cljs.devtools.client.env.server_port":9630,"shadow.cljs.devtools.client.env.server_token":"2e23abc3-0e39-4ba7-8595-82221208d40e","shadow.cljs.devtools.client.env.use_document_host":true,"shadow.cljs.devtools.client.env.module_format":"goog","goog.LOCALE":"en","shadow.cljs.devtools.client.env.build_id":"main","shadow.cljs.devtools.client.env.ignore_warnings":false,"goog.DEBUG":true,"shadow.cljs.devtools.client.env.log":true,"shadow.cljs.devtools.client.env.ssl":false,"shadow.cljs.devtools.client.env.enabled":true,"shadow.cljs.devtools.client.env.server_host":"localhost","shadow.cljs.devtools.client.env.worker_client_id":2,"goog.TRANSPILE":"never"}; var CLOSURE_DEFINES = {"shadow.cljs.devtools.client.env.repl_pprint":true,"shadow.cljs.devtools.client.env.reload_strategy":"optimized","shadow.cljs.devtools.client.env.devtools_url":"","shadow.cljs.devtools.client.env.autoload":true,"shadow.cljs.devtools.client.env.proc_id":"e0125c76-3c44-423b-9581-c966fb3a8c47","shadow.cljs.devtools.client.env.use_document_protocol":false,"goog.ENABLE_DEBUG_LOADER":false,"shadow.cljs.devtools.client.env.server_port":9630,"shadow.cljs.devtools.client.env.server_token":"ca420fcb-fc2f-467a-8312-a2f4d2ca0255","shadow.cljs.devtools.client.env.use_document_host":true,"shadow.cljs.devtools.client.env.module_format":"goog","goog.LOCALE":"en","shadow.cljs.devtools.client.env.build_id":"main","shadow.cljs.devtools.client.env.ignore_warnings":false,"goog.DEBUG":true,"shadow.cljs.devtools.client.env.log":true,"shadow.cljs.devtools.client.env.ssl":false,"shadow.cljs.devtools.client.env.enabled":true,"shadow.cljs.devtools.client.env.server_host":"localhost","shadow.cljs.devtools.client.env.worker_client_id":2,"goog.TRANSPILE":"never"};
var COMPILED = false; var COMPILED = false;
var goog = goog || {}; var goog = goog || {};
goog.global = this || self; goog.global = this || self;

File diff suppressed because it is too large Load diff