askclass-course-theme 0.13.5 → 0.14.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '086c24d2710c4b54f4b75109b1e093f1d8394834c5c4a8be0850894611693dc5'
4
- data.tar.gz: 8128143e5d5809c197012a5f2d63a039d0f7419a401b16d9e5112f92134c51d7
3
+ metadata.gz: c5a405d3e32ad41d27e9cc2b39ace30ab3e087da67ed6236217e4d2f72439eaf
4
+ data.tar.gz: a0bc59753d2671743381692c2ec7e7b75194508706ad340ad28e7a3d2bfced16
5
5
  SHA512:
6
- metadata.gz: 0f540630bdb9825b1a60baa01b7f61ec38efba779cc90eb83c80e056e8dba991cbddc8aadb01c9f8fd87b221c4758e2abe0586269e3f34f4687288d75f86b41b
7
- data.tar.gz: 02b1a307a2ca2a42468f95a810ebb72c4dfbb85f271df5c54971565bd1b9cab04f2b80b44321247c13d41e94a3faed592a4d28673ea2bc8b7a80e7fa1cbad3c6
6
+ metadata.gz: 6803c4b2926dffa390bb4622e01040be2f948c685260833015ec0f8a6a15ba7c182b71e6bb83a38f4ec8fa1752fc40a04f319467caab5a2bf89b0725e5cbacf1
7
+ data.tar.gz: 0d1c286dfcd43a6995ecb6d1ce0b545d4e2ef43eb79de3d8c6d0fd52057cda81af97cfeb5181899176da42024a054a79164e8b9fc2e24f2c3abdef4babfd96e1
data/_config.yml CHANGED
@@ -26,7 +26,7 @@ acc:
26
26
  sizes: [ 48, 96, 144, 192, 300, 512 ]
27
27
  shortcuts:
28
28
  - name: Syllabus
29
- url: https://acc.askclass.com/session/session-01
29
+ url: /session/session-01
30
30
  desc: Class syllabus and contact information
31
31
  meta:
32
32
  apple_icon: "logo-300.png"
@@ -1,8 +1,7 @@
1
- {% assign acc = site.acc %}
2
- {% assign desc = page.description | default: site.description | strip_html | strip_newlines %}
3
- {% assign assets = '/assets/' | prepend: site.url %}
4
- {% assign families = acc.font_families | join: "&family=" %}
5
- {% assign og_image = acc.meta.og_image | prepend: assets %}
1
+ {%- assign acc = site.acc %}
2
+ {%- assign desc = page.description | default: site.description | strip_html | strip_newlines %}
3
+ {%- assign families = acc.font_families | join: "&family=" %}
4
+ {%- assign og_image = acc.meta.og_image | prepend: '/assets/' %}
6
5
 
7
6
  <meta charset="utf-8" />
8
7
  <meta name="viewport" content="width=device-width,initial-scale=1.0" />
@@ -22,12 +21,12 @@
22
21
  <meta property="og:description" content="{{ desc }}" />
23
22
  <meta property="og:url" content="{{ site.url }}{{ page.url }}" />
24
23
  <meta property="og:image" content="{{ page.image | default: og_image }}" />
25
- {% if acc.twitter %}
24
+ {%- if acc.twitter %}
26
25
  <meta name="twitter:site" content="{{ acc.social.twitter }}" />
27
26
  <meta name="twitter:card" content="summary_large_image">
28
- {% endif % %}
27
+ {% endif -%}
29
28
 
30
- <link rel="manifest" href="{{ assets }}site.webmanifest" />
29
+ <link rel="manifest" href="/assets/site.webmanifest" />
31
30
  <link rel="preconnect" href="https://cdn.jsdelivr.net" />
32
31
  <link rel="preconnect" href="https://cdn.jsdelivr.net" crossorigin />
33
32
  <link rel="preconnect" href="https://fonts.googleapis.com" />
@@ -35,11 +34,11 @@
35
34
  <link rel="preload" as="style"
36
35
  href="https://fonts.googleapis.com/css2?family={{ families }}&display=swap"
37
36
  onload='this.onload=null;this.rel="stylesheet"' />
38
- <link rel="shortcut icon" href="{{ assets }}{{ acc.meta.shortcut.favicon }}" />
39
- <link rel="icon" type="{{ acc.meta.shotcut.type }}" href="{{ assets}}{{ acc.meta.shortcut.image }}" />
40
- <link rel="icon" type="image/svg+xml" href="{{ assets}}{{ acc.logo.image }}" />
37
+ <link rel="shortcut icon" href="/assets/{{ acc.meta.shortcut.favicon }}" />
38
+ <link rel="icon" type="{{ acc.meta.shotcut.type }}" href="/assets/{{ acc.meta.shortcut.image }}" />
39
+ <link rel="icon" type="image/svg+xml" href="/assets/{{ acc.logo.image }}" />
41
40
 
42
- <link rel="apple-touch-icon" href="{{ assets}}{{ acc.meta.apple_icon }}" />
43
- {% for size in acc.logo.sizes %}
44
- <link rel="apple-touch-icon" sizes="{{size}}x{{size}}" href="{{ assets }}logo-square-{{size}}.png" />
45
- {% endfor %}
41
+ <link rel="apple-touch-icon" href="/assets/{{ acc.meta.apple_icon }}" />
42
+ {%- for size in acc.logo.sizes %}
43
+ <link rel="apple-touch-icon" sizes="{{size}}x{{size}}" href="/assets/logo-square-{{size}}.png" />
44
+ {% endfor -%}
@@ -1,5 +1,5 @@
1
1
  <head>
2
- {%- include head/meta.html -%}
2
+ {% include head/meta.html -%}
3
3
  {%- include head/common.html -%}
4
4
  {%- if page.collection == 'session' -%}
5
5
  {%- if session_data.type == 'Dialog' -%}
@@ -9,5 +9,5 @@
9
9
  {%- endif -%}
10
10
  {%- else -%}
11
11
  <link rel="stylesheet" href="{{ 'assets/css/segment.css' | relative_url }}" />
12
- {%- endif -%}
12
+ {% endif %}
13
13
  </head>
@@ -0,0 +1,3 @@
1
+ <div style="padding: 50px 0">
2
+ <div class='essential_audio' data-url='{{ include.audio }}'></div>
3
+ </div>
@@ -0,0 +1,6 @@
1
+ {% for audio in include.audio %}
2
+ <div class='essential_audio' data-url='{{ audio }}'></div>
3
+
4
+ {%- assign _size = include.audio | size %}
5
+ {% if forloop.index != _size %}<br /><br />{% endif -%}
6
+ {% endfor %}
@@ -17,6 +17,7 @@
17
17
  {%- include session/images.html images=session_data.images -%}
18
18
  {%- include session/points.html -%}
19
19
  {%- include session/videos.html videos=session_data.videos -%}
20
+ {%- include session/sounds.html audio=session_data.audio -%}
20
21
  {{ content }}
21
22
  {%- if page.dialogue -%}
22
23
  {%- include session/conversation.html data=page.dialogue-%}
@@ -28,5 +29,6 @@
28
29
  {%- include session/content_revealer.html -%}
29
30
  {%- include footer.html -%}
30
31
  {%- include foot/mathjax.html -%}
32
+ <script async src="/assets/js/essential-audio-player.js"></script>
31
33
  </body>
32
34
  </html>
@@ -0,0 +1,177 @@
1
+ /****************************************/
2
+ /* */
3
+ /* Section 1: The Looks */
4
+ /* */
5
+ /****************************************/
6
+
7
+
8
+ /* 1. The Main Container */
9
+ div.essential_audio {
10
+ position: relative;
11
+ z-index: 0;
12
+ width: 100%;
13
+ }
14
+
15
+
16
+ /* 2. The Player Button – General */
17
+ div.essential_audio > div:nth-child(1) div {
18
+ width: 28px;
19
+ height: 28px;
20
+ margin-top: -13px;
21
+ border-radius: 14px;
22
+ color: var(--color-fg);
23
+ background-color: var(--color-link);
24
+ }
25
+ div.essential_audio > div:nth-child(1) div:after {
26
+ position: absolute;
27
+ top: 2px;
28
+ left: 2px;
29
+ width: 24px;
30
+ height: 24px;
31
+ }
32
+ /* Set here how much the button exceeds the horizontal track limits: */
33
+ /* This must not be deleted! (but can be changed, of course) */
34
+ :root {
35
+ --button-protrusion: 4px;
36
+ }
37
+
38
+ /* 2.a) The Player Button – Off */
39
+ div.essential_audio > div:nth-child(1) div.off:after {
40
+ content: url("data:image/svg+xml; utf8, <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><polygon fill='%23FFF' points='10,6.9 10,23.1 24,15' /></svg>");
41
+ }
42
+
43
+ /* 2.b) The Player Button – Loading */
44
+ div.essential_audio > div:nth-child(1) div.load:after {
45
+ content: url("data:image/svg+xml; utf8, <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><circle opacity='0.64' fill='%23FFFFFF' cx='6.5' cy='18.5' r='2'/><circle opacity='0.76' fill='%23FFFFFF' cx='6.5' cy='11.5' r='2'/><circle opacity='0.88' fill='%23FFFFFF' cx='11.5' cy='6.5' r='2'/><circle fill='%23FFFFFF' cx='18.5' cy='6.5' r='2'/><circle opacity='0.16' fill='%23FFFFFF' cx='23.5' cy='11.5' r='2'/><circle opacity='0.28' fill='%23FFFFFF' cx='23.5' cy='18.5' r='2'/><circle opacity='0.4' fill='%23FFFFFF' cx='18.5' cy='23.4' r='2'/><circle opacity='0.52' fill='%23FFFFFF' cx='11.5' cy='23.4' r='2'/></svg>");
46
+ animation: audio_load_rotate 1s infinite linear;
47
+ }
48
+ @keyframes audio_load_rotate {
49
+ from { transform: rotate(0deg); }
50
+ to { transform: rotate(360deg); }
51
+ }
52
+
53
+ /* 2.c) The Player Button – Playing */
54
+ div.essential_audio > div:nth-child(1) div.play {
55
+ background-color: var(--color-link)!important;
56
+ }
57
+ div.essential_audio > div:nth-child(1) div.play:after {
58
+ content: url("data:image/svg+xml; utf8, <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><rect fill='%23FFF' x='17' y='8' width='3' height='14' /><rect fill='%23FFF' x='10' y='8' width='3' height='14' /></svg>");
59
+ }
60
+
61
+ /* 2.d) The Player Button – Dragging */
62
+ div.essential_audio > div:nth-child(1) div.drag {
63
+ transition: left 0s!important;
64
+ /*
65
+ cursor: grab!important;
66
+ */
67
+ }
68
+
69
+ /* 2.e) The Player Button – Error */
70
+ div.essential_audio > div:nth-child(1) div.error {
71
+ background-color: rgba(0,0,0,0.35)!important;
72
+ }
73
+ div.essential_audio > div:nth-child(1) div.error:after {
74
+ content: url("data:image/svg+xml; utf8, <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path fill='%23FFF' d='M13.9,18.6c0-0.3,0-0.5,0-0.9c0-1.6,0.6-2.9,2.1-3.9l1.1-0.8c0.9-0.6,1.3-1.5,1.3-2.4c0-1.5-1-2.8-3-2.8c-2.2,0-3.1,1.6-3.1,3.2c0,0.2,0,0.4,0,0.5L10,11.9c-0.1-0.3-0.1-0.8-0.1-1.2c0-2.3,1.7-5.1,5.5-5.1c3.5,0,5.5,2.5,5.5,5c0,2-1.1,3.4-2.5,4.3l-1.2,0.8c-0.8,0.5-1.1,1.4-1.1,2.4c0,0.1,0,0.2,0,0.5H13.9z'/><path fill='%23FFF' d='M15,20.8c1,0,1.8,0.8,1.8,1.8S16,24.4,15,24.4c-1,0-1.8-0.8-1.8-1.8S14,20.8,15,20.8z'/></svg>");
75
+ }
76
+
77
+
78
+ /* 3. The Track */
79
+ div.essential_audio > div:nth-child(2) {
80
+ height: 2px;
81
+ }
82
+ div.essential_audio > div:nth-child(2):after {
83
+ content: "";
84
+ position: absolute;
85
+ z-index: 0;
86
+ background-color: #000;
87
+ opacity: 0.3;
88
+ mix-blend-mode: multiply;
89
+ top: 0px;
90
+ left: 0px;
91
+ width: 100%;
92
+ height: 100%;
93
+ }
94
+
95
+
96
+ /* 4. The Loading Progress Bar */
97
+ div.essential_audio > div:nth-child(2) div {
98
+ background-color: var(--color-link);
99
+ mix-blend-mode: multiply;
100
+ }
101
+
102
+
103
+ /* 5. The Klick & Drag Sensor */
104
+ div.essential_audio > div:nth-child(3) {
105
+ height: 12px;
106
+ margin-top: -5px;
107
+ }
108
+
109
+
110
+
111
+
112
+ /****************************************/
113
+ /* */
114
+ /* Section 2: Core Values */
115
+ /* */
116
+ /****************************************/
117
+
118
+
119
+ /* 1. The Main Container + General Settings */
120
+ div.essential_audio,
121
+ div.essential_audio * {
122
+ user-select: none;
123
+ -webkit-tap-highlight-color: rgba(0,0,0,0);
124
+ -webkit-overflow-scrolling: auto;
125
+ }
126
+ div.essential_audio *:focus {
127
+ outline: none;
128
+ }
129
+
130
+
131
+ /* 2. The Player Button */
132
+ div.essential_audio > div:nth-child(1) div {
133
+ position: absolute;
134
+ top: 0px;
135
+ left: 0px;
136
+ cursor: pointer;
137
+ }
138
+
139
+ /* 2.a) Container for Player Button */
140
+ div.essential_audio > div:nth-child(1) {
141
+ position: absolute;
142
+ z-index: 3;
143
+ height: 0px;
144
+ top: 0px;
145
+ left: calc(var(--button-protrusion) * -1);
146
+ width: calc(100% + (2 * var(--button-protrusion)));
147
+ }
148
+
149
+
150
+ /* 3. The Track */
151
+ div.essential_audio > div:nth-child(2) {
152
+ position: relative;
153
+ width: 100%;
154
+ overflow: hidden;
155
+ }
156
+
157
+
158
+ /* 4. The Loading Progress Bar */
159
+ div.essential_audio > div:nth-child(2) div {
160
+ position: absolute;
161
+ z-index: 1;
162
+ width: 0%;
163
+ height: 100%;
164
+ top: 0px;
165
+ left: 0px;
166
+ transition: width 0.5s;
167
+ }
168
+
169
+
170
+ /* 5. The Klick & Drag Sensor */
171
+ div.essential_audio > div:nth-child(3) {
172
+ position: absolute;
173
+ z-index: 2;
174
+ width: 100%;
175
+ top: 0px;
176
+ left: 0px;
177
+ }
data/_sass/_post.scss CHANGED
@@ -214,4 +214,5 @@ a.lesson-number{
214
214
  "table",
215
215
  "tab-colors",
216
216
  "paginator",
217
- "video";
217
+ "video",
218
+ "essential-audio";
Binary file
@@ -0,0 +1,10 @@
1
+ // Essential Audio Player v1.0.3
2
+ var Essential_Audio=(()=>{var t=true;var f=false;var n=null;var A={};var b=[];var c=f;var d=f;var h=0;const g=[["mp3","mpeg"],["ogg","ogg"],["wav","wav"],["aac","mpeg"],["m4a","mpeg"]];var j;var k;var l;var m=f;var o;var p;var q=50;var pa="div.essential_audio";var pb="div:nth-child(1)";var pf="mousemove";var pg="touchmove";var ph="mouseup";var pj="touchend";var pk="";var pl=(a)=>{return a.duration};var pm=(a)=>{return a.currentTime};var pn=(a)=>{return a.buffered};var po=()=>{if(event.changedTouches){l=event.changedTouches[0].pageX}else{l=event.pageX}return l};if(document.readyState!="loading"){B()}else{document.addEventListener("DOMContentLoaded",B)};function B(){var ia=document.querySelectorAll(pa);ia.forEach((vr,ib)=>{vr.innerHTML="<div><div class=\"off\"><!----></div></div><div><div><!----></div></div><div><!----></div>";var
3
+ ic;if(vr.hasAttribute("id")){ic=vr.getAttribute("id")}else{ic=ib+1;vr.setAttribute("id",ic)}A[ic]=document.createElement("audio");var a=A[ic];a.id=ic;a.za=vr.querySelector(pb).querySelector("div");a.zb=a.za.offsetWidth;a.zc=vr.querySelector(pb).offsetWidth-a.zb;if(a.zc<0){a.zc=0}a.zd=vr.getAttribute("data-url");a.ze=0;a.zf=0;a.zh=0;a.zi=0;a.zj=f;a.zks=0;a.zl=f;a.zm=f;a.zn=f;a.zo=f;a.zp=f;a.zq=f;b[ib]=ic;a.crossOrigin="anonymous";a.preload="metadata";if(vr.hasAttribute("data-loop")){a.loop=t}if(vr.hasAttribute("data-scratch")){a.zr=t}else{a.zr=f}if(vr.hasAttribute("data-autoplay")){if(h<1){h=1;a.autoplay=t;a.preload="auto";c=a;E(a)}}if(vr.hasAttribute("data-preload")){if(!a.autoplay){a.preload="auto";E(a)}}a.za.onmousedown=(e)=>{e.stopPropagation();e.preventDefault();Ba(a)};a.za.ontouchstart=(e)=>{e.stopPropagation();e.preventDefault();Ba(a)};var
4
+ ie=vr.querySelector("div:nth-child(3)");ie.onmousedown=(e)=>{e.stopPropagation();e.preventDefault();Bb(a)};ie.ontouchstart=(e)=>{e.stopPropagation();e.preventDefault();Bb(a)}})};function Ba(a){a.zp=t;j=po();k=j-(a.za.getBoundingClientRect().left+window.scrollX);window.addEventListener(pf,Bc);var va=setTimeout(function(){window.addEventListener(pg,Bc)},100);function Bc(){if(j!=po()){m=t;if(a.zc>0){a.za.classList.add("drag")}}if(m&&(a.zc>0)){o=po()-(a.za.parentNode.getBoundingClientRect().left+window.scrollX)-k;a.zh=Math.min(Math.max(o,0),a.zc);a.za.style.left=a.zh+"px";if(a.zr&&a.zn){V(a);if(a.paused&&(pm(a)!=pl(a))){a.play()}}}};window.addEventListener(ph,Bd);window.addEventListener(pj,Bd);function
5
+ Bd(){window.removeEventListener(pf,Bc);window.removeEventListener(pg,Bc);clearTimeout(va);window.removeEventListener(ph,Bd);window.removeEventListener(pj,Bd);if(m){if(pl(a)&&(a.zc>0)){if(!a.zr||!a.zn){V(a)}if(a.zn&&a.paused&&(pm(a)!=pl(a))){a.play()}}m=f;a.za.classList.remove("drag")}else{if(c.id&&(c.id==a.id)&&a.zn){P(a)}if(!a.zl){C(a)}}a.zp=f}};function Bb(a){if(a.zc>0){a.zp=t;j=po();k=Math.floor(a.zb/2);window.addEventListener(pf,Be);window.addEventListener(pg,Be);function Be(){m=t;a.za.classList.add("drag");o=po()-a.za.parentNode.getBoundingClientRect().left-k;a.zh=Math.min(Math.max(o,0),a.zc);a.za.style.left=a.zh+"px";if(a.zr&&a.zn){V(a);if(a.paused&&(pm(a)!=pl(a))){a.play()}}};window.addEventListener(ph,Bf);window.addEventListener(pj,Bf);function
6
+ Bf(){window.removeEventListener(pf,Be);window.removeEventListener(pg,Be);window.removeEventListener(ph,Bf);window.removeEventListener(pj,Bf);if(m){if(pl(a)){if(!a.zr||a.zn){V(a)}if(a.zn&&a.paused&&(pm(a)!=pl(a))){a.play()}}m=f;a.za.classList.remove("drag")}else{p=po()-a.za.parentNode.getBoundingClientRect().left-k;a.zh=Math.min(Math.max(p,0),a.zc);a.za.style.left=a.zh+"px";if(pl(a)){V(a);if(a.zn){a.play()}}}a.zp=f}}};function C(a){if(c){if(a.id==c.id){R();return}else{ R()}}c=a;if(pl(a)){O(a)}else{if(!a.zj){a.play();a.pause();E(a)}}};function D(a,vq){a.za.setAttribute("class","");a.za.classList.add(vq)};function
7
+ E(a){D(a,"load");a.zj=t;a.zm=t;a.onplay=()=>{if(!a.zm){clearTimeout(a.td);D(a,"play")}if(a.id==d.id){c=a;d=f;a.zn=t;if(a.zc>0){a.tc=setInterval(Q,q,a)}}};a.onplaying=()=>{clearTimeout(a.td);D(a,"play")};a.onwaiting=()=>{a.td=setTimeout(()=>{D(a,"load")},50)};a.onpause=()=>{if(!a.zm&&!a.zp&&!a.ended){D(a,"off")}if(a.zn&&!a.zm&&!a.ended){R()}};a.onended=()=>{if(a.zc==0&&!a.loop){R(0)}};a.onseeking=()=>{if(a.id==d.id){P(a)}};a.onseeked=()=>{if(a.id==d.id){P(a)}};a.onloadedmetadata=()=>{a.onloadedmetadata=n;J(a)};a.onprogress=()=>{a.onprogress=n;a.ta=setInterval(U,500,a);a.zq=t};var vc=a.zd.substr(a.zd.length-4,a.zd.length);vc=vc.toLowerCase();var vd=f;for(var i=0;i<g.length;i++){if(vc=="."+g[i][0]){var ve=a.zd+pk;F(a,ve,i);vd=t;break}}if(!vd){g.forEach((vr,i)=>{var ve=a.zd+"."+vr[0]+pk;F(a,ve,i)})}};function F(a,ve,vf){var vg=new
8
+ XMLHttpRequest;vg.onreadystatechange=()=>{if(vg.readyState==2){vg.onreadystatechange=n;G(vg,a,ve,vf)}};vg.onerror=()=>{G(vg,a,ve,vf)};vg.open("HEAD",ve);vg.send()};function G(vg,a,ve,vf){if(vg.status==200){a.ze+=1;a.innerHTML+="<source id=\""+g[vf][0]+"\" src=\""+ve+"\" type=\"audio/"+g[vf][1]+"\" crossorigin=\"anonymous\">"}else{a.zf+=1;if((g.length-a.zf)==0){H(a)}}vg.onerror=n};function H(a){a.zj=f;a.zo=f;a.zn=f;a.zl=t;D(a,"error");if(a.id==c.id){c=f}};function J(a){if(a.preload=="auto"){if(/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream){a.preload="metadata"}var vi=a.play();if(vi!==undefined){vi.then(()=>{if(a.autoplay){M(a)}else{K(a)}}).catch(error=>{K(a)})}}else{if(a.readyState>2){M(a)}else{V(a);if(a.zh==a.zc){T(a)}a.tb=setInterval(L,250,a)}}};function K(a){a.pause();D(a,"off");a.currentTime=0;a.zh=0;a.zm=f;if(a.autoplay&&c){if(a.id==c.id){d=c;c=f}}};function L(a){V(a);var vj=0;for(var
9
+ i=0;i<pn(a).length;i++){if(pn(a).start(pn(a).length-1-i)<=pm(a)){vj=pn(a).end(pn(a).length-1-i);break}}if(vj>=pm(a)){clearInterval(a.tb);M(a)}};function M(a){a.zj=f;a.zm=f;if(!a.zn){if(!a.zo){O(a)}}else{R(a)}};function O(a){if(pm(a)==pl(a)){T(a)}V(a);d=f;a.zn=t;if(a.zc>0){a.tc=setInterval(Q,q,a)}a.play();var vs=setTimeout(function(){if(a.zn&&a.paused){R()}clearTimeout(vs)},25);D(a,"play")};function N(vr){if(!vr){if(d){vr=d.id}else{vr=b[0]}}var a=A[vr];if(!a.zn){C(a)}};function Q(a){if(!a.zp){P(a);if(pm(a)==pl(a)){if(a.loop){T(a)}else{R(0)}}}};function P(a){a.zh=Math.round(pm(a)*a.zc/pl(a));a.za.style.left=a.zh+"px"};function R(vp){if(c){clearInterval(c["tc"]);c.zo=t;c.zn=f;c.pause();D(c,"off");if(vp==0){T(c)}else{c.zh=c.za.offsetLeft}if(!c.zm){d=c}c=f}};function T(a){if(pl(a)){a.currentTime=0}a.zh=0;a.za.style.left=0+"px"};function S(vr){if(!vr){if(d){vr=d.id}else{vr=b[0]}}var a=A[vr];T(a)};function U(a){if(pl(a)){if(a.zc==0){var vk=0}else{var vk=Math.round(a.zh/a.zc*pl(a)*100)/100}var
10
+ vl=0;for(var i=0;i<pn(a).length;i++){if(pn(a).start(pn(a).length-1-i)<=vk){vl=pn(a).end(pn(a).length-1-i);break}}a.zi=Math.round(vl/pl(a)*100);a.za.parentNode.parentNode.querySelector("div:nth-child(2)").querySelector("div").style.width=a.zi+"%";if(a.zi==100){clearInterval(a.ta);a.zq=f}}};function V(a){if(a.zc>0){a.currentTime=a.zh/a.zc*pl(a)}};function W(){var vm=document.querySelectorAll(pa);vm.forEach((vr)=>{var vn=vr.getAttribute("id");var a=A[vn];if(a.zq){clearInterval(a.ta)}a.zb=a.za.offsetWidth;var vo=vr.querySelector(pb).offsetWidth-a.zb;if(vo<0){vo=0}if((a.za.offsetLeft>0)&&(vn!=c.id)){a.zh=Math.round(a.za.offsetLeft/a.zc*vo);a.za.style.left=a.zh+"px"}a.zc=vo;if(pl(a)&&!a.zn){V(a)}if(a.zq){a.ta=setInterval(U,500,a)}})};window.addEventListener("resize",W);return{init:B,Audio:A,Play:N,Stop:R,Reset:S,players:Xa,active:Xb,last:Xc};function Xa(){return b}function Xb(){if(c){return c.id}else{return f}}function Xc(){if(d){return d.id}else{return f}}})();
@@ -20,7 +20,12 @@
20
20
  {
21
21
  "name": "{{ sc.name }}",
22
22
  "url": "{{ sc.url }}",
23
- "description": "{{ sc.desc }}"
23
+ "description": "{{ sc.desc }}",
24
+ "icons": [{
25
+ "src": "/assets/logo-96.png",
26
+ "type": "image/png",
27
+ "sizes": "96x96"
28
+ }]
24
29
  }{%- if forloop.index != forloop.length %},{%- endif %}
25
30
  {%- endfor %}
26
31
  ],
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: askclass-course-theme
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.5
4
+ version: 0.14.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - AskClass
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-31 00:00:00.000000000 Z
11
+ date: 2023-03-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -47,6 +47,7 @@ files:
47
47
  - _includes/segment/header.html
48
48
  - _includes/segment/index.html
49
49
  - _includes/segment/nav.html
50
+ - _includes/session/audio.html
50
51
  - _includes/session/bubble.html
51
52
  - _includes/session/content_revealer.html
52
53
  - _includes/session/conversation.html
@@ -58,6 +59,7 @@ files:
58
59
  - _includes/session/paginator.html
59
60
  - _includes/session/points.html
60
61
  - _includes/session/say.html
62
+ - _includes/session/sounds.html
61
63
  - _includes/session/videos.html
62
64
  - _includes/session/youtube.html
63
65
  - _layouts/default.html
@@ -67,6 +69,7 @@ files:
67
69
  - _sass/_bubbles.scss
68
70
  - _sass/_bullets.scss
69
71
  - _sass/_default.scss
72
+ - _sass/_essential-audio.scss
70
73
  - _sass/_grid.scss
71
74
  - _sass/_paginator.scss
72
75
  - _sass/_post.scss
@@ -75,10 +78,12 @@ files:
75
78
  - _sass/_table.scss
76
79
  - _sass/_video.scss
77
80
  - _sass/init.scss
81
+ - assets/audio/appreciation.mp3
78
82
  - assets/css/dialog.scss
79
83
  - assets/css/segment.scss
80
84
  - assets/css/session.scss
81
85
  - assets/favicon.ico
86
+ - assets/js/essential-audio-player.js
82
87
  - assets/loading.svg
83
88
  - assets/logo-144.png
84
89
  - assets/logo-192.png