Skip to content

Commit d9e4d21

Browse files
EpithumiaFredZinelliFredZin
authored
Merge classe into main (#21)
* Make a class for SQLIDE * Reformat * Convertir les sqlide en classes JS (#19) * Dev - Add /js and /css to mkdocs watch directories * FIX - Unsilence errors during `load(...)` (which was a pain...) * Update SQLIDE class (renaming to SqlIde on the way) * misc * CHANGE - make `base` and `init` arguments work together. * Reorganize `Counter.build_sql` so that the branches match the execution order in the JS layer. * Update docs with the new specs * Add dev tests (deactivated by default) * Suppress one `then` * FIX - CSS - Gutters kine numbers were going over the top menu header. * ADD - Light/dark themes for the docs * ADD - Hack to soften the background colors of sqlides in dark mode, without changing anything on CodeMirror side. * ADD - Result tables are now sortable (hidden buttons) --------- Co-authored-by: Frédéric Zinelli <frederic.zinelli@gmail.com> * Bump version, màj notes de version --------- Co-authored-by: FredZinelli <145555278+FredZinelli@users.noreply.github.com> Co-authored-by: Frédéric Zinelli <frederic.zinelli@gmail.com>
1 parent d62bfdf commit d9e4d21

File tree

9 files changed

+343
-192
lines changed

9 files changed

+343
-192
lines changed

docs/essai/base_init.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
## Vérifie que l'utilisation des arguments base et init ensemble fonctionne
2+
3+
le code de init ajoute 3 entrées aux 3 venant de tests.db :
4+
5+
```sql
6+
{{ sqlide(
7+
titre="base + init",
8+
base="bases/test.db",
9+
init="init_base.sql",
10+
sql="sql/code.sql"
11+
)}}
12+
```
13+
14+
15+
{{ sqlide(
16+
titre="base + init",
17+
base="bases/test.db",
18+
init="init_base.sql",
19+
sql="sql/code.sql"
20+
)}}

docs/essai/init_base.sql

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
-- Ajoute les 3 données suivantes à la base tests.db
2+
3+
INSERT INTO employees VALUES (4,'HOOVER','SALES I',2,'1990-04-02',27000,NULL,3);
4+
INSERT INTO employees VALUES (5,'LINCOLN','TECH',6,'1994-06-23',22500,1400,4);
5+
INSERT INTO employees VALUES (6,'GARFIELD','MANAGER',9,'1993-05-01',54000,NULL,4);

docs/notes-de-version.md

Lines changed: 49 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,4 +57,52 @@
5757

5858
### 2.0.0
5959

60-
- Support pour utilisation en tant que macro {{ sqlide(...) }}
60+
- ADD - Support pour utilisation en tant que macro {{ sqlide(...) }}
61+
- BREAKING: la syntaxe en cas de présence de mkdocs-macros-plugin change complètement. Cf. la documentation pour les changements à faire
62+
- FIX - Compatibilité accrue avec PMT (merci @FredZinelli)
63+
- CHANGE - Passage de SQL.js à la version 1.13.0
64+
65+
### 2.0.1
66+
67+
- FIX - les sqlides dans les admonitions repliées ??? n'étaient pas rendues correctement quand le sqlide était créés via les macros.
68+
- FIX - les pages mélangeant les deux types de syntaxes (macros + ancienne syntaxes) pouvaient se retrouver avec des IDE non fonctionnels car les worker des espaces communs étaient insérés lors de la première insertions d'un "espace" sql, mais l'ordre des générations de code pouvait ne pas suivre l'ordre de lecture dans la page : toutes les macros d'abord, puis une seconde passe est faite pour les anciennes syntaxes.
69+
70+
- CHANGE - Changement de signature pour la macro, pour pouvoir utiliser qqes arguments positionnels, pour alléger les déclarations.
71+
- CHANGE - Les macros insèrent maintenant un token dans la page, qui sera remplacé par du code html durant on_page_content (évite les problèmes de conversion md -> html de mkdocs -> FIX 1)
72+
- CHANGE - Les workerinit sont ajoutés via on_page_context, juste sous les scripts et le css liés au sql du plugin, pour garantir qu'ils seront toujours dispo avant les sqlide de la page (FIX 2).
73+
- CHANGE - Ajout de quelques commentaires ici et là dans le code, car la logique devient plus complexe...
74+
75+
- DOCS - Arguments de la macro
76+
- DOCS - Ajout d'explication pour hide et autoexec
77+
- DOCS - Exemple alternatif (arguments positionnels)
78+
79+
### 2.0.2
80+
81+
- FIX - MAJ automatique du rendu des IDE lors des changements d’onglets mkdocs/material.
82+
- ADD - support pour les chemins relatifs au fichier markdown en cours (noms de fichiers sql)
83+
- ADD - Ajouts de la logistique pour tester dans la doc
84+
- CHANGE - Discover and add css and js files automatically
85+
- CHANGE - Remove useless LIBS_PATH
86+
87+
### 2.0.3
88+
89+
- CHANGE - Mark as compatible with Python 3.9, update classifiers
90+
91+
### 2.1.0
92+
93+
- DEV - Add /js and /css to mkdocs watch directories
94+
95+
- ADD - Light/dark themes for the docs
96+
- ADD - Hack to soften the background colors of sqlides in dark mode, without changing anything on CodeMirror side.
97+
- ADD - Result tables are now sortable (hidden buttons)
98+
99+
- FIX - Unsilence errors during `load(...)` (which was a pain...)
100+
- FIX - CSS - Gutters kine numbers were going over the top menu header.
101+
102+
- CHANGE - Update SQLIDE class (renaming to SqlIde on the way)
103+
- CHANGE - make `base` and `init` arguments work together.
104+
- CHANGE - Reorganize `Counter.build_sql` so that the branches match the execution order in the JS layer.
105+
106+
- DOCS - Update docs with the new specs
107+
- DOCS - Add dev tests (deactivated by default)
108+
- DOCS - Suppress one `then`

docs/usage.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ On peut afficher une console/IDE SQLite grâce à la commande `{{ sqlide paramè
7373
- le titre *doit* être entre guillemets
7474
- les chemins vers les fichiers sont relatifs à la racine du site, ou bien relatifs au dossier contenant la page markdown en cours (v2.0^+^).
7575
- les chemins ne peuvent pas contenir d'espace
76-
- les options base et init sont mutuellement exclusives ; l'option base est prioritaire.
76+
- si les arguments `base` et `init` sont tous les deux utilisés, la base est chargée avant que le code du fichier `init` ne soit exécuté.
7777

7878
Voir le cas des [utilisations en tant que macro](#as-macros), où les syntaxes diffèrent légèrement.<!-- markdownlint-disable-line MD046 -->
7979

mkdocs.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,17 @@ theme:
88
- navigation.tracking
99
- navigation.tabs
1010
- navigation.tabs.sticky
11+
palette:
12+
# Palette toggle for light mode
13+
- scheme: default
14+
toggle:
15+
icon: material/brightness-7
16+
name: Switch to dark mode
17+
# Palette toggle for dark mode
18+
- scheme: slate
19+
toggle:
20+
icon: material/brightness-4
21+
name: Switch to light mode
1122

1223
nav:
1324
- Home: 'index.md'
@@ -17,6 +28,7 @@ nav:
1728
- 'Historique des versions': 'notes-de-version.md'
1829

1930
# - Bac à sable: 'essai/bac_a_sable.md' # testing purpose
31+
# - "Base+init": 'essai/base_init.md' # testing purpose
2032

2133
exclude_docs: | # Désactiver tout le bloc pour activer dans la nav
2234
essai/**
@@ -36,6 +48,10 @@ extra_javascript:
3648
- https://unpkg.com/tablesort@5.3.0/dist/tablesort.min.js
3749
- extras/tablesort.js
3850

51+
watch:
52+
- mkdocs_sqlite_console/js
53+
- mkdocs_sqlite_console/css
54+
3955
markdown_extensions:
4056
- admonition
4157
- pymdownx.details

mkdocs_sqlite_console/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
from .plugin import SQLiteConsole
22

3-
VERSION = "2.0.3"
3+
VERSION = "2.1.0"

mkdocs_sqlite_console/css/sqlite_ide.css

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,4 +65,17 @@ div.sqlhidden > label,
6565
div.sqlhidden > br,
6666
div.sqlhidden > button {
6767
display: none;
68+
}
69+
70+
/* FIX - Line numbers going over the header menu */
71+
.CodeMirror-gutter-wrapper { z-index: 3 }
72+
.CodeMirror-gutters { z-index: 2 }
73+
74+
/* FIX - "Kinda" react to the palette color change (without going through CodeMirror maze) */
75+
.CodeMirror { background-color: rgba(255, 255, 255, 0.6) }
76+
.CodeMirror-gutters { opacity: 60%; }
77+
78+
/* FIX - Hide column sorting buttons in result tables */
79+
.md-typeset table.sqltable th[role="columnheader"]::after {
80+
display: none;
6881
}

0 commit comments

Comments
 (0)