pyodide-mkdocs-theme 5.4.4__py3-none-any.whl → 5.4.5__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pyodide_mkdocs_theme/__version__.py +1 -1
- pyodide_mkdocs_theme/pyodide_macros/macros/ide_ide.py +9 -9
- pyodide_mkdocs_theme/pyodide_macros/macros/ide_manager.py +3 -1
- pyodide_mkdocs_theme/pyodide_macros/macros/ide_playground.py +3 -2
- pyodide_mkdocs_theme/pyodide_macros/plugin_tools/test_cases.py +5 -0
- pyodide_mkdocs_theme/templates/js-per-pages/2-pyodideSectionsRunner-runner-pyodide.js +9 -2
- pyodide_mkdocs_theme/templates/js-per-pages/4-ideLogistic-ide.js +4 -0
- pyodide_mkdocs_theme/templates/js-per-pages/4-ideRunner-ide.js +73 -15
- pyodide_mkdocs_theme/templates/js-per-pages/5-ideTester-ides_test.js +7 -0
- pyodide_mkdocs_theme/templates/js-scripts/subscriptions.js +7 -3
- pyodide_mkdocs_theme/templates/pyodide-css/0-generic.css +1 -1
- pyodide_mkdocs_theme/templates/pyodide-css/history.css +1 -1
- pyodide_mkdocs_theme/templates/pyodide-css/ide.css +3 -0
- {pyodide_mkdocs_theme-5.4.4.dist-info → pyodide_mkdocs_theme-5.4.5.dist-info}/METADATA +1 -1
- {pyodide_mkdocs_theme-5.4.4.dist-info → pyodide_mkdocs_theme-5.4.5.dist-info}/RECORD +18 -18
- {pyodide_mkdocs_theme-5.4.4.dist-info → pyodide_mkdocs_theme-5.4.5.dist-info}/LICENSE +0 -0
- {pyodide_mkdocs_theme-5.4.4.dist-info → pyodide_mkdocs_theme-5.4.5.dist-info}/WHEEL +0 -0
- {pyodide_mkdocs_theme-5.4.4.dist-info → pyodide_mkdocs_theme-5.4.5.dist-info}/entry_points.txt +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "5.4.
|
|
1
|
+
__version__ = "5.4.5"
|
|
@@ -577,26 +577,26 @@ class Ide(CommonTermIde):
|
|
|
577
577
|
Build a list of all the buttons to add after the IDE.
|
|
578
578
|
"""
|
|
579
579
|
buttons = [
|
|
580
|
-
self.create_button("play"),
|
|
581
|
-
self.create_button("check") if self.has_check_btn else "",
|
|
582
|
-
self.create_button("download", margin_left=1 ),
|
|
583
|
-
self.create_button("upload", margin_right=1 ),
|
|
584
|
-
self.create_button("restart"),
|
|
585
|
-
self.create_button("save"),
|
|
580
|
+
self.create_button("play", bare_tip=True),
|
|
581
|
+
self.create_button("check", bare_tip=True) if self.has_check_btn else "",
|
|
582
|
+
self.create_button("download", bare_tip=True, margin_left=1 ),
|
|
583
|
+
self.create_button("upload", bare_tip=True, margin_right=1 ),
|
|
584
|
+
self.create_button("restart", bare_tip=True),
|
|
585
|
+
self.create_button("save", bare_tip=True),
|
|
586
586
|
]
|
|
587
587
|
|
|
588
588
|
if self.export:
|
|
589
589
|
buttons.append(
|
|
590
|
-
self.create_button("zip")
|
|
590
|
+
self.create_button("zip", bare_tip=True)
|
|
591
591
|
)
|
|
592
592
|
if self.has_corr_btn: # "mkdocs serve" only:
|
|
593
593
|
buttons.append(
|
|
594
|
-
self.create_button("corr_btn", margin_left=1)
|
|
594
|
+
self.create_button("corr_btn", bare_tip=True, margin_left=1)
|
|
595
595
|
)
|
|
596
596
|
if self.has_reveal_btn: # "mkdocs serve" only:
|
|
597
597
|
margin_left = {} if self.has_corr_btn else {"margin_left": 1}
|
|
598
598
|
buttons.append(
|
|
599
|
-
self.create_button("show", **margin_left),
|
|
599
|
+
self.create_button("show", bare_tip=True, **margin_left),
|
|
600
600
|
)
|
|
601
601
|
|
|
602
602
|
return buttons
|
|
@@ -777,6 +777,7 @@ class IdeManagerMdHtmlGenerator(IdeSectionsManager):
|
|
|
777
777
|
margin_right: float = 0.2,
|
|
778
778
|
extra_btn_kls: str = "",
|
|
779
779
|
tip_side: P5BtnLocation = "",
|
|
780
|
+
bare_tip: bool = False,
|
|
780
781
|
**kwargs
|
|
781
782
|
) -> str:
|
|
782
783
|
"""
|
|
@@ -794,6 +795,7 @@ class IdeManagerMdHtmlGenerator(IdeSectionsManager):
|
|
|
794
795
|
margin_right = margin_right,
|
|
795
796
|
extra_btn_kls = extra_btn_kls,
|
|
796
797
|
tip_side = tip_side,
|
|
798
|
+
bare_tip = bare_tip,
|
|
797
799
|
**kwargs
|
|
798
800
|
)
|
|
799
801
|
|
|
@@ -834,7 +836,7 @@ class IdeManagerMdHtmlGenerator(IdeSectionsManager):
|
|
|
834
836
|
if bare_tip:
|
|
835
837
|
tip_span = ""
|
|
836
838
|
kwargs['data'] = kwargs.get('data', {})
|
|
837
|
-
kwargs['data']['tip-txt'] = tip_txt
|
|
839
|
+
kwargs['data']['tip-txt'] = str(tip_txt)
|
|
838
840
|
if tip_txt.em: kwargs['data']['tip-width'] = tip_txt.em
|
|
839
841
|
else:
|
|
840
842
|
tip_span = Html.tooltip(tip_txt, tip_txt.em, tip_side=tip_side or P5BtnLocation.bottom)
|
|
@@ -114,7 +114,7 @@ class IdePlayground(CommonGeneratedIde, Ide):
|
|
|
114
114
|
"""
|
|
115
115
|
|
|
116
116
|
return f"""
|
|
117
|
-
# Playground {
|
|
117
|
+
# Playground {{ data-search-exclude }}
|
|
118
118
|
|
|
119
119
|
|
|
120
120
|
Cette page permet de développer dynamiquement dans un contexte où les différentes sections sont modifiables et exécutables à volonté : lorsque l'IDE est exécuté, les contenus de tous les autres éditeurs de la page sont utilisés en tant que sections de l'IDE.
|
|
@@ -124,7 +124,8 @@ Cette page permet de développer dynamiquement dans un contexte où les différe
|
|
|
124
124
|
* Le bouton de téléchargement sous l'IDE permet de récupérer un fichier PMT correctement formaté, avec toutes les sections assemblées.
|
|
125
125
|
* Le contenu de la section `tests` est automatiquement exécuté après le contenu de l'IDE : il n'est pas nécessaire d'en rajouter le code dans celui-ci pour retrouver le comportement habituel des IDEs normaux, que ce soit pour les tests publics ou les validations.
|
|
126
126
|
* Mermaid est utilisable dans cette page, ainsi que les autres outils complémentaires (p5, matplotlib, ...).
|
|
127
|
-
* Dans la
|
|
127
|
+
* Dans la page Playground, la sortie standard est toujours visible durant les validations, de manière à ne pas rencontrer d'erreurs si le code des tests secrets utilise `terminal_message`.
|
|
128
|
+
* L'id html de la figure a la valeur par défaut pour une page localisée directement dans le `docs_dir`.
|
|
128
129
|
|
|
129
130
|
<br>
|
|
130
131
|
|
|
@@ -211,6 +211,11 @@ class Case:
|
|
|
211
211
|
previously revealed stuff. Use 1000 to get infinite number of attempts.
|
|
212
212
|
"""
|
|
213
213
|
|
|
214
|
+
done: Optional[int] = None
|
|
215
|
+
"""
|
|
216
|
+
Value to use for this.storage.done at the beginning of this test.
|
|
217
|
+
"""
|
|
218
|
+
|
|
214
219
|
show_only_assertion_errors_for_secrets: Optional[bool] = None
|
|
215
220
|
""" Override the current value for the source page, if given. """
|
|
216
221
|
|
|
@@ -277,6 +277,7 @@ class PyodideSectionsRunnerBase {
|
|
|
277
277
|
LOGGER_CONFIG.ACTIVATE && jsLogger(loggerName)
|
|
278
278
|
|
|
279
279
|
CONFIG.calledMermaid = false
|
|
280
|
+
const wasDirty = this.isDirty
|
|
280
281
|
this.makeDirty(false) // Assume executions will go well (see note in finally block)
|
|
281
282
|
this.running = runningMan
|
|
282
283
|
let runtime
|
|
@@ -307,10 +308,16 @@ class PyodideSectionsRunnerBase {
|
|
|
307
308
|
// For isDirty update, DO NOT only rely on `this.isDirty = runtime.stopped`, so that the
|
|
308
309
|
// runner itself can set the value on a success if needed, and it won't be overridden here
|
|
309
310
|
// (useful if a valid "play" is still considered dirty when a validation exists...).
|
|
310
|
-
if(!runtime || runtime.stopped){
|
|
311
|
+
if(!runtime || runtime.stopped || runningMan.isPlaying && wasDirty){
|
|
311
312
|
this.makeDirty()
|
|
312
313
|
}
|
|
313
314
|
|
|
315
|
+
// AFTER updating isDirty, remove the validation button border if the current execution
|
|
316
|
+
// is a validation:
|
|
317
|
+
if(runningMan.isValidating){
|
|
318
|
+
this._getJValidationButton().removeClass("dirty-validation")
|
|
319
|
+
}
|
|
320
|
+
|
|
314
321
|
if(runtime){
|
|
315
322
|
await finallyTeardown.call(this, runtime)
|
|
316
323
|
}
|
|
@@ -544,7 +551,7 @@ class PyodideSequentialRunner extends PyodideSectionsRunnerBase {
|
|
|
544
551
|
super(id)
|
|
545
552
|
|
|
546
553
|
this.rotateTerminalMessage = true
|
|
547
|
-
this.isDirty = true // Tell if the last run
|
|
554
|
+
this.isDirty = true // Tell if the last run was successful or not, or if the content has been modified
|
|
548
555
|
// without being run (handled unconditionally for all elements, even if they aren't
|
|
549
556
|
// "in sequential run". The RUNNERS_MANAGER handles what is actually to be run or not).
|
|
550
557
|
}
|
|
@@ -780,6 +780,7 @@ class IdeFullScreenManager extends IdeFullScreenGlobalManager {
|
|
|
780
780
|
|
|
781
781
|
this.storeInitPositionsDataIfNeeded()
|
|
782
782
|
const focused = document.activeElement
|
|
783
|
+
const floatingTip = $("#floating-tip").detach()
|
|
783
784
|
|
|
784
785
|
this.global[0].requestFullscreen().then(async _=>{
|
|
785
786
|
LOGGER_CONFIG.ACTIVATE && jsLogger('[ScreenMode]', "Full screen ready")
|
|
@@ -791,6 +792,8 @@ class IdeFullScreenManager extends IdeFullScreenGlobalManager {
|
|
|
791
792
|
this.guiIdeFlags.internalIsFullScreen = true
|
|
792
793
|
splitScreenBtn.addClass('deactivated')
|
|
793
794
|
this.ideScreenModeVerticalResize({goingFullScreen: true})
|
|
795
|
+
this.global.append(floatingTip)
|
|
796
|
+
|
|
794
797
|
focused.focus() // Always give back the focus to the element which had it before.
|
|
795
798
|
|
|
796
799
|
LOGGER_CONFIG.ACTIVATE && jsLogger('[ScreenMode]', "Full screen setup - DONE")
|
|
@@ -806,6 +809,7 @@ class IdeFullScreenManager extends IdeFullScreenGlobalManager {
|
|
|
806
809
|
'[ScreenMode]', "Full screen reversion with", minLines, maxLines
|
|
807
810
|
)
|
|
808
811
|
|
|
812
|
+
floatingTip.detach().appendTo('body')
|
|
809
813
|
if(this.splitScreenActivated) splitScreenBtn.removeClass('deactivated')
|
|
810
814
|
this.guiIdeFlags.internalIsFullScreen = false
|
|
811
815
|
const resizeOption = this.isInSplit ? {topDivH:this.setupTopDivHeight()}
|
|
@@ -177,7 +177,7 @@ class IdeHistoryManager extends IdeAceManager {
|
|
|
177
177
|
* */
|
|
178
178
|
updateValidationBtnColor(done=undefined, jElt=undefined){
|
|
179
179
|
done ??= this.storage.done
|
|
180
|
-
jElt ??= this.
|
|
180
|
+
jElt ??= this._getJValidationButton()
|
|
181
181
|
if(!this.isDelayedRevelation){
|
|
182
182
|
const color = this.getIdeStateColor(done)
|
|
183
183
|
jElt.css('--ide-btn-color', color)
|
|
@@ -185,6 +185,10 @@ class IdeHistoryManager extends IdeAceManager {
|
|
|
185
185
|
return jElt
|
|
186
186
|
}
|
|
187
187
|
|
|
188
|
+
_getJValidationButton(){
|
|
189
|
+
return this.global.find("button[btn_kind=check]")
|
|
190
|
+
}
|
|
191
|
+
|
|
188
192
|
|
|
189
193
|
getIdeStateColor(done){ // CodCap
|
|
190
194
|
return !done ? "unset" : done<0 ? 'red' : 'green'
|
|
@@ -193,6 +197,13 @@ class IdeHistoryManager extends IdeAceManager {
|
|
|
193
197
|
clearValidations(){ this.validations.length = 0 }
|
|
194
198
|
|
|
195
199
|
|
|
200
|
+
makeDirty(isDirty=true){
|
|
201
|
+
super.makeDirty(isDirty)
|
|
202
|
+
if(isDirty){
|
|
203
|
+
this._getJValidationButton().addClass("dirty-validation")
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
|
|
196
207
|
|
|
197
208
|
setupHistoryBtn(jHistItem, [done, time, code]){
|
|
198
209
|
jHistItem.text(time)
|
|
@@ -262,20 +273,21 @@ class IdeFeedbackManager extends IdeHistoryManager {
|
|
|
262
273
|
if(runtime.stopped || !step) return
|
|
263
274
|
|
|
264
275
|
const playing = this.running.isPlaying
|
|
265
|
-
const intro = playing ? "" : CONFIG.lang.validation.msg
|
|
266
276
|
const section = CONFIG.lang[step].msg
|
|
267
|
-
const
|
|
277
|
+
const isDone = this.storage.done > 0
|
|
278
|
+
const okMsg = CONFIG.lang.successMsg.msg
|
|
279
|
+
const intro = playing ? "" : CONFIG.lang.validation.msg
|
|
268
280
|
|
|
269
|
-
let msg = `${ intro }${ section }: ${
|
|
270
|
-
if(!code) msg = ""
|
|
271
|
-
if(playing && !this.hasCheckBtn){
|
|
272
|
-
msg = CONFIG.lang.successMsgNoTests.msg
|
|
281
|
+
let msg = `${ intro }${ section }: ${ okMsg }` // Default section message
|
|
282
|
+
if(!code) msg = "" // No default message if no code in the section...
|
|
283
|
+
if(playing && !this.hasCheckBtn){ // ...but ensure the default ending message is shown,
|
|
284
|
+
msg = CONFIG.lang.successMsgNoTests.msg // if this is "playing" and nothing else to do after.
|
|
273
285
|
}
|
|
274
286
|
|
|
275
287
|
if(msg) this.terminalEcho(msg)
|
|
276
288
|
|
|
277
289
|
// Prepare a "very final" message if needed:
|
|
278
|
-
if(playing && this.hasCheckBtn){
|
|
290
|
+
if(playing && this.hasCheckBtn && (!isDone || this.isDirty)){
|
|
279
291
|
// If a validation button is present while running the public tests
|
|
280
292
|
runtime.finalMsg = CONFIG.lang.unforgettable.msg
|
|
281
293
|
}
|
|
@@ -718,6 +730,42 @@ class IdeRunnerLogic extends IdeFeedbackManager {
|
|
|
718
730
|
* */
|
|
719
731
|
export class IdeRunner extends IdeRunnerLogic {
|
|
720
732
|
|
|
733
|
+
static KEY_UP_NO_CHANGES = new Set(`
|
|
734
|
+
Control
|
|
735
|
+
Alt
|
|
736
|
+
AltGraph
|
|
737
|
+
Meta
|
|
738
|
+
CapsLock
|
|
739
|
+
NumLock
|
|
740
|
+
Shift
|
|
741
|
+
ContextMenu
|
|
742
|
+
F1
|
|
743
|
+
F2
|
|
744
|
+
F3
|
|
745
|
+
F4
|
|
746
|
+
F5
|
|
747
|
+
F6
|
|
748
|
+
F7
|
|
749
|
+
F8
|
|
750
|
+
F9
|
|
751
|
+
F10
|
|
752
|
+
F11
|
|
753
|
+
F12
|
|
754
|
+
Insert
|
|
755
|
+
PageUp
|
|
756
|
+
PageDown
|
|
757
|
+
End
|
|
758
|
+
Home
|
|
759
|
+
Escape
|
|
760
|
+
`.trim().split(/\s+/g))
|
|
761
|
+
|
|
762
|
+
static KEY_UP_ARROWS = new Set(`
|
|
763
|
+
ArrowLeft
|
|
764
|
+
ArrowRight
|
|
765
|
+
ArrowUp
|
|
766
|
+
ArrowDown
|
|
767
|
+
`.trim().split(/\s+/g))
|
|
768
|
+
|
|
721
769
|
|
|
722
770
|
/**Process to "re-initiate" the internal state of the IDE (useful for testing) */
|
|
723
771
|
_init(){
|
|
@@ -852,7 +900,7 @@ export class IdeRunner extends IdeRunnerLogic {
|
|
|
852
900
|
|
|
853
901
|
// Add fullscreen activation binding, but NOT through the ACE editor commands
|
|
854
902
|
// cannot control the exit :/ )
|
|
855
|
-
this.global.on('keyup', this.
|
|
903
|
+
this.global.on('keyup', this.respondToKeyUp.bind(this))
|
|
856
904
|
|
|
857
905
|
// Bind editor extra buttons:
|
|
858
906
|
this.global.find(".comment.tooltip" ).on("click", this.toggleComments.bind(this))
|
|
@@ -930,22 +978,32 @@ export class IdeRunner extends IdeRunnerLogic {
|
|
|
930
978
|
}
|
|
931
979
|
|
|
932
980
|
|
|
933
|
-
async
|
|
934
|
-
|
|
935
|
-
|
|
981
|
+
async respondToKeyUp(event){
|
|
982
|
+
|
|
983
|
+
const goFullScreen = (event.key == 'Escape'
|
|
936
984
|
&& !IdeFullScreenGlobalManager.someMenuOpened
|
|
937
985
|
&& !this.guiIdeFlags.escapeIdeSearch
|
|
938
986
|
&& !somethingFullScreen()
|
|
939
|
-
)
|
|
987
|
+
)
|
|
988
|
+
const justMoving = (
|
|
989
|
+
this.constructor.KEY_UP_NO_CHANGES.has(event.key) ||
|
|
990
|
+
this.constructor.KEY_UP_ARROWS.has(event.key) && !event.altKey ||
|
|
991
|
+
event.ctrlKey && "acfhs Enter".includes(event.key) ||
|
|
992
|
+
event.key == 'Escape'
|
|
993
|
+
)
|
|
994
|
+
|
|
995
|
+
if(goFullScreen){
|
|
940
996
|
this.requestFullScreen()
|
|
941
|
-
// The browser already handles on its own going out of fullscreen with escape
|
|
997
|
+
// The browser already handles on its own going out of fullscreen with escape
|
|
998
|
+
// => no "else" needed for that
|
|
942
999
|
|
|
943
1000
|
}else if(event.altKey && event.key==':'){
|
|
944
1001
|
this.switchSplitScreenFromButton(event)
|
|
945
1002
|
|
|
946
|
-
}else{
|
|
1003
|
+
}else if(!justMoving){
|
|
947
1004
|
this.makeDirty()
|
|
948
1005
|
}
|
|
1006
|
+
|
|
949
1007
|
this.guiIdeFlags.escapeIdeSearch = false
|
|
950
1008
|
}
|
|
951
1009
|
|
|
@@ -404,6 +404,13 @@ class IdeTesterGuiManager extends IdeRunner {
|
|
|
404
404
|
|
|
405
405
|
_applyConfAndData(onLoad=false){
|
|
406
406
|
|
|
407
|
+
// Always reset the "done" state, to make tests independent of each others.
|
|
408
|
+
this.storage.done = 0
|
|
409
|
+
if('done' in this.conf){
|
|
410
|
+
this.storage.done = this.conf.done
|
|
411
|
+
}
|
|
412
|
+
this.updateValidationBtnColor()
|
|
413
|
+
|
|
407
414
|
const hasSetMaxHide = 'set_max_and_hide' in this.conf
|
|
408
415
|
if(onLoad || hasSetMaxHide){
|
|
409
416
|
this.conf.reveal_corr_rems = false
|
|
@@ -119,7 +119,7 @@ CONFIG.ACE_COLOR_THEME.aceStyle = {
|
|
|
119
119
|
|
|
120
120
|
/**Automatically define the position of the tooltip around the hovered element by mutation of pos
|
|
121
121
|
* */
|
|
122
|
-
const getAnchorPoint=({width, height, top, left}, pagePos)=>{
|
|
122
|
+
const getAnchorPoint=({width, height, top, left}, pagePos, obj)=>{
|
|
123
123
|
const pos = defaultPos()
|
|
124
124
|
|
|
125
125
|
pos.anchorX = Math.round(pagePos.left + width/2)
|
|
@@ -135,6 +135,10 @@ CONFIG.ACE_COLOR_THEME.aceStyle = {
|
|
|
135
135
|
}else if (pointer.isRight){
|
|
136
136
|
pos.translateX = -100
|
|
137
137
|
}
|
|
138
|
+
|
|
139
|
+
const w = obj.dataset.tipWidth
|
|
140
|
+
if (w!==undefined) pos.width = w+'em'
|
|
141
|
+
|
|
138
142
|
return pos
|
|
139
143
|
}
|
|
140
144
|
|
|
@@ -167,9 +171,9 @@ CONFIG.ACE_COLOR_THEME.aceStyle = {
|
|
|
167
171
|
// Positions & dimensions in viewport:
|
|
168
172
|
const rect = this.getBoundingClientRect()
|
|
169
173
|
|
|
170
|
-
pos = getAnchorPoint(rect, pagePos)
|
|
174
|
+
pos = getAnchorPoint(rect, pagePos, this)
|
|
171
175
|
}
|
|
172
|
-
tipSpan.
|
|
176
|
+
tipSpan.html(this.dataset.tipTxt)
|
|
173
177
|
placement(pos)
|
|
174
178
|
})
|
|
175
179
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: pyodide-mkdocs-theme
|
|
3
|
-
Version: 5.4.
|
|
3
|
+
Version: 5.4.5
|
|
4
4
|
Summary: Package embedding the necessary tools to host pyodide, ACE editors, jQuery terminals in mkdocs documentations
|
|
5
5
|
License: GPL-3.0-or-later
|
|
6
6
|
Keywords: mkdocs,mkdocs-plugin,pyodide,IDE,terminal
|
|
@@ -3,7 +3,7 @@ pyodide_mkdocs_theme/PMT_tools/vis/__init__.py,sha256=yz4vn9sdJbov4nnSY3qW2i2KBx
|
|
|
3
3
|
pyodide_mkdocs_theme/PMT_tools/vis_network/__init__.py,sha256=xIHPG_LGtVNuWn31ES2cHBGMTPszW103xSL-X9rvass,19176
|
|
4
4
|
pyodide_mkdocs_theme/__init__.py,sha256=eF71r5abmOC1RxEUnT2trZxTQWNmW69wUFWcBIEyxeI,2767
|
|
5
5
|
pyodide_mkdocs_theme/__main__.py,sha256=AM77xwc-6A0UlQKDk5lQE2ZmQwFdB4SvipsB2-6ieCQ,10321
|
|
6
|
-
pyodide_mkdocs_theme/__version__.py,sha256=
|
|
6
|
+
pyodide_mkdocs_theme/__version__.py,sha256=mpYO1DeEAC8zUNUEdoRJ6o_ovaRbCBzwdfoUUC8Me_8,22
|
|
7
7
|
pyodide_mkdocs_theme/basthon_p5_to_pmt.py,sha256=C0qeMygadJjAo4ERzWLqptyo0KPEvEwZ7DWC1Io0SqM,17446
|
|
8
8
|
pyodide_mkdocs_theme/pyodide_macros/__init__.py,sha256=QsJobE1N4BzEm-ucPawBCcdXyCV_-40jGa3WlaQQGpo,1392
|
|
9
9
|
pyodide_mkdocs_theme/pyodide_macros/exceptions.py,sha256=TPCoT52wD_huHT0BbWf17ESe90IeG4TrkM_yxUyvnQI,5699
|
|
@@ -23,9 +23,9 @@ pyodide_mkdocs_theme/pyodide_macros/indent_parser.py,sha256=TQisSkWrrfyTM6GGag19
|
|
|
23
23
|
pyodide_mkdocs_theme/pyodide_macros/macros/IDEs.py,sha256=IHY6EqZOyN95x-rgxLwr914eHdue-fJcG1SRG2sRE7E,3204
|
|
24
24
|
pyodide_mkdocs_theme/pyodide_macros/macros/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
25
25
|
pyodide_mkdocs_theme/pyodide_macros/macros/figure.py,sha256=0VRjFixZb19yDnjXCGyJJHnkRuLyuRvzIfdtmfsBxJw,2668
|
|
26
|
-
pyodide_mkdocs_theme/pyodide_macros/macros/ide_ide.py,sha256=
|
|
27
|
-
pyodide_mkdocs_theme/pyodide_macros/macros/ide_manager.py,sha256=
|
|
28
|
-
pyodide_mkdocs_theme/pyodide_macros/macros/ide_playground.py,sha256
|
|
26
|
+
pyodide_mkdocs_theme/pyodide_macros/macros/ide_ide.py,sha256=eudkZ-ouc92jrPpE3O_bJH55YQvzQsax1HZtzrDcAzA,23642
|
|
27
|
+
pyodide_mkdocs_theme/pyodide_macros/macros/ide_manager.py,sha256=eIS0L30DrK3CnR-eIf1LnDFNPYXUjEHFEPGCBdvQEBQ,41831
|
|
28
|
+
pyodide_mkdocs_theme/pyodide_macros/macros/ide_playground.py,sha256=-3g6JZpbvzN7MEi5TguCWQPT-TGxNB5lBmRVIQ7yfno,4984
|
|
29
29
|
pyodide_mkdocs_theme/pyodide_macros/macros/ide_py_btn.py,sha256=bgwUtQiUsSJMAEHONj_YMZ3AKsNCKCfeYlRmLg2NbBc,4507
|
|
30
30
|
pyodide_mkdocs_theme/pyodide_macros/macros/ide_run_macro.py,sha256=WnabtSWGc8Gn_TZdc-QRest9jjbZmfgvfXOFFHcNaXA,1718
|
|
31
31
|
pyodide_mkdocs_theme/pyodide_macros/macros/ide_term_ide.py,sha256=D89KAddfJb3bF5nTNigF8VdOYe4hMwac0do_Zo61wUE,4840
|
|
@@ -70,7 +70,7 @@ pyodide_mkdocs_theme/pyodide_macros/plugin_tools/macros_data.py,sha256=VaY8o-mpx
|
|
|
70
70
|
pyodide_mkdocs_theme/pyodide_macros/plugin_tools/maestro_tools.py,sha256=knUeodgYGnmsROYj--sn4BijrEln0Vi7jKdsonZpazM,7477
|
|
71
71
|
pyodide_mkdocs_theme/pyodide_macros/plugin_tools/options_alterations.py,sha256=bxZFsXDDbYJo4Y3oTMoWV8cXZOEwdDTBON5EMnXtLb4,1238
|
|
72
72
|
pyodide_mkdocs_theme/pyodide_macros/plugin_tools/pages_and_macros_py_configs.py,sha256=G2AytHPYqF8ZQvF_2ULaahR2eHkFhx5MIKZO0rw3R4E,12840
|
|
73
|
-
pyodide_mkdocs_theme/pyodide_macros/plugin_tools/test_cases.py,sha256=
|
|
73
|
+
pyodide_mkdocs_theme/pyodide_macros/plugin_tools/test_cases.py,sha256=QzEm4hjPY4LrSe0KmzuaLruoHUKnt498iAlzkCCj5lw,17835
|
|
74
74
|
pyodide_mkdocs_theme/pyodide_macros/pyodide_logger.py,sha256=kubbAoNhiHnb_zsGxmelAWCVSsR09S6cp0v_l05ZdPE,4458
|
|
75
75
|
pyodide_mkdocs_theme/pyodide_macros/tools_and_constants.py,sha256=JnXpmrwGSBG95o22e6R4cjftC8F6YJuNaLjDOfVLYgM,33625
|
|
76
76
|
pyodide_mkdocs_theme/scripts/de/docs/exo.py,sha256=-RwHlOOTje9eqJDwmoW4QLMWcP2yRWzSgT3iWra6vcg,2702
|
|
@@ -112,19 +112,19 @@ pyodide_mkdocs_theme/templates/js-per-pages/1-error_logs-pyodide.js,sha256=nCgI4
|
|
|
112
112
|
pyodide_mkdocs_theme/templates/js-per-pages/1-packagesInstaller-install-pyodide.js,sha256=xUzvUAsUls2RkaDI6R-hchKhqLaYtXGUQ7nVS02nWfg,16273
|
|
113
113
|
pyodide_mkdocs_theme/templates/js-per-pages/1-runtimeManager-runtime-pyodide.js,sha256=M3_lk5wUmUydOGqojlBJDnAHNKx1bzplZBs-p09s-SM,28779
|
|
114
114
|
pyodide_mkdocs_theme/templates/js-per-pages/2-0-runnersManager-runners.js,sha256=UBGGb-D9xpPijn8ye_I1G09VluRyJ6DrSRoww69nfH8,7654
|
|
115
|
-
pyodide_mkdocs_theme/templates/js-per-pages/2-pyodideSectionsRunner-runner-pyodide.js,sha256=
|
|
115
|
+
pyodide_mkdocs_theme/templates/js-per-pages/2-pyodideSectionsRunner-runner-pyodide.js,sha256=SMueZOXGcx-VsFn0NY7u4PLnMoNZz2Od1gT_gO4XqAQ,20764
|
|
116
116
|
pyodide_mkdocs_theme/templates/js-per-pages/3-btnRunner-py_btn.js,sha256=rbJXGISSVJuZaj088PVk-Xu-iQySqJlTYksVrdTc0AE,1679
|
|
117
117
|
pyodide_mkdocs_theme/templates/js-per-pages/3-terminalRunner-term.js,sha256=JRD9l2ujyD4Xm8sBWb-rPD8w-dLJuet54FjXFaWq5QM,35101
|
|
118
118
|
pyodide_mkdocs_theme/templates/js-per-pages/4-0-idesManager-ide.js,sha256=C4-3Utdh8ATPLUAH1UmeaawHNCNzJxsW4ZVeI3juclc,5588
|
|
119
|
-
pyodide_mkdocs_theme/templates/js-per-pages/4-ideLogistic-ide.js,sha256=
|
|
120
|
-
pyodide_mkdocs_theme/templates/js-per-pages/4-ideRunner-ide.js,sha256=
|
|
121
|
-
pyodide_mkdocs_theme/templates/js-per-pages/5-ideTester-ides_test.js,sha256=
|
|
119
|
+
pyodide_mkdocs_theme/templates/js-per-pages/4-ideLogistic-ide.js,sha256=Z57mAbxz7kiJBkjNHjfNpifTZwupqqMZBYqk53bmlZ8,34851
|
|
120
|
+
pyodide_mkdocs_theme/templates/js-per-pages/4-ideRunner-ide.js,sha256=JythKLaKWaj_M8goEMm7bS1Soupbk1C2FMfa_iWXeGs,32499
|
|
121
|
+
pyodide_mkdocs_theme/templates/js-per-pages/5-ideTester-ides_test.js,sha256=gp3zDjVLZBnk3j_8SHdPtQD8Q5O8x32rxcfVHhhd-PU,28578
|
|
122
122
|
pyodide_mkdocs_theme/templates/js-per-pages/6-2-init-playground.js,sha256=cOBcjttNrMfKwTVv49_JYUlO90vwGtkRc9RdatVBVzE,1318
|
|
123
123
|
pyodide_mkdocs_theme/templates/js-per-pages/6-idePlayground-playground.js,sha256=gUPxC7PWF_C1pYcYBsL2TTQgHX7e6TbXjXu0ilFwXIM,4189
|
|
124
124
|
pyodide_mkdocs_theme/templates/js-per-pages/qcms-qcm.js,sha256=6uL25L5x9z8ghEF4ISPdfZX9LhBAhcSO8yC9cDi3sB4,13605
|
|
125
125
|
pyodide_mkdocs_theme/templates/js-per-pages/start-pyodide.js,sha256=zsSoDpE-xCbVSWe-Fna8iOh9qV_f9ak8gDOkjAgixY8,6905
|
|
126
126
|
pyodide_mkdocs_theme/templates/js-scripts/overlord.js,sha256=1ePebj8t8rwxvNtMxtfDLu04aah3rXFIOQ_mPWQFiFA,1628
|
|
127
|
-
pyodide_mkdocs_theme/templates/js-scripts/subscriptions.js,sha256=
|
|
127
|
+
pyodide_mkdocs_theme/templates/js-scripts/subscriptions.js,sha256=O8TFl1khQ2ay3W_BZlrZC8wv4qmkSYhieRENSJtIWiU,12522
|
|
128
128
|
pyodide_mkdocs_theme/templates/main.html,sha256=GNFtiplYtkEnTMKsQ4cb0sMVq-dtRLVHdS9BBjmRVBU,30
|
|
129
129
|
pyodide_mkdocs_theme/templates/mkdocs_theme.yml,sha256=8RC4XSxH2LPLMvhP3DCK_7VvmNw7vqc_XCOAX3kG2rk,1210
|
|
130
130
|
pyodide_mkdocs_theme/templates/partials/content.html,sha256=FnrwEuDT2Ssta--V9esxvKE3EGpO3O64Iput1ljY2_E,459
|
|
@@ -132,16 +132,16 @@ pyodide_mkdocs_theme/templates/partials/copyright.html,sha256=AJRA8Y3HHqeUJ65kqz
|
|
|
132
132
|
pyodide_mkdocs_theme/templates/partials/footer.html,sha256=Z50M500ZFaAeUSJxX-o2EuUs4QEP4xYdZVzT5dJB9D8,2146
|
|
133
133
|
pyodide_mkdocs_theme/templates/partials/header.html,sha256=1Nd0pyqmLiV5bUzDp2XOBE-aT46RSJp9OD2ERhIa37o,2639
|
|
134
134
|
pyodide_mkdocs_theme/templates/partials/social.html,sha256=XqTYfqQgozSc6ygXk9Qe1dz2daPi2mX5FkadT0p3tJw,892
|
|
135
|
-
pyodide_mkdocs_theme/templates/pyodide-css/0-generic.css,sha256
|
|
135
|
+
pyodide_mkdocs_theme/templates/pyodide-css/0-generic.css,sha256=-PCFq5YiCdWNCiZH1ZGXz9nfEO3uWykioGfzVvQBWX0,6467
|
|
136
136
|
pyodide_mkdocs_theme/templates/pyodide-css/btns-header.css,sha256=-TF_v1KsjpPNazQ-nN6bY-hnlfFSzAKuIUNJc9BvtYQ,1078
|
|
137
|
-
pyodide_mkdocs_theme/templates/pyodide-css/history.css,sha256=
|
|
137
|
+
pyodide_mkdocs_theme/templates/pyodide-css/history.css,sha256=PJgC0LZLQUFqShfkGcYi0W-AcRcl9PM_aywKZtwm_jk,1091
|
|
138
138
|
pyodide_mkdocs_theme/templates/pyodide-css/hourglass.css,sha256=VWUXzY4ih8kQi9nIc0BzbcEGVoNRYeLZs52MzammG5I,1947
|
|
139
|
-
pyodide_mkdocs_theme/templates/pyodide-css/ide.css,sha256=
|
|
139
|
+
pyodide_mkdocs_theme/templates/pyodide-css/ide.css,sha256=cwtiW2FKCfMBmtvVnplgxYNlLpsbLjJs_T8tFjWuvW8,5694
|
|
140
140
|
pyodide_mkdocs_theme/templates/pyodide-css/qcm.css,sha256=Mh2lg1WFgmHYuI69cxwUtfXuNl97XJkiOzN5jodww_o,4491
|
|
141
141
|
pyodide_mkdocs_theme/templates/pyodide-css/terminal.css,sha256=emPONURSk0VaNXWPSz7Yj6LaoV8kzRhL0y2D9Q_wybQ,1688
|
|
142
142
|
pyodide_mkdocs_theme/templates/pyodide-css/testing.css,sha256=V1BZ7UV6mOWd087VtARX0IWOiONQw3OmD-eCGmCggVQ,3293
|
|
143
|
-
pyodide_mkdocs_theme-5.4.
|
|
144
|
-
pyodide_mkdocs_theme-5.4.
|
|
145
|
-
pyodide_mkdocs_theme-5.4.
|
|
146
|
-
pyodide_mkdocs_theme-5.4.
|
|
147
|
-
pyodide_mkdocs_theme-5.4.
|
|
143
|
+
pyodide_mkdocs_theme-5.4.5.dist-info/LICENSE,sha256=KSvfLkVBOr2TwehfMhrI9Od3dHoyYFpxZH5GQCSflRE,35118
|
|
144
|
+
pyodide_mkdocs_theme-5.4.5.dist-info/METADATA,sha256=7q3FaS-9IAZ1v6QFaRg_VNatkpfv40MhLLaSlYHWib8,4471
|
|
145
|
+
pyodide_mkdocs_theme-5.4.5.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
146
|
+
pyodide_mkdocs_theme-5.4.5.dist-info/entry_points.txt,sha256=S7DNQF6CBMaqSasP1CZ_T5elFKAzwwldYuhVZmAUFu0,719
|
|
147
|
+
pyodide_mkdocs_theme-5.4.5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
{pyodide_mkdocs_theme-5.4.4.dist-info → pyodide_mkdocs_theme-5.4.5.dist-info}/entry_points.txt
RENAMED
|
File without changes
|