Skip to content

Commit f57aa00

Browse files
authored
Fix error using livereload server with Mkdocs < 1.4.0 (#153)
1 parent 3ad7b27 commit f57aa00

File tree

5 files changed

+122
-116
lines changed

5 files changed

+122
-116
lines changed

.pre-commit-config.yaml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ repos:
2727
- id: debug-statements
2828
name: debug-statements
2929
- repo: https://github.com/pre-commit/mirrors-prettier
30-
rev: v3.0.0-alpha.4
30+
rev: v3.0.0-alpha.6
3131
hooks:
3232
- id: prettier
3333
types_or:
@@ -48,11 +48,11 @@ repos:
4848
- id: add-trailing-comma
4949
name: add-trailing-comma
5050
- repo: https://github.com/pre-commit/mirrors-autopep8
51-
rev: v2.0.1
51+
rev: v2.0.2
5252
hooks:
5353
- id: autopep8
5454
- repo: https://github.com/PyCQA/isort
55-
rev: 5.11.4
55+
rev: 5.12.0
5656
hooks:
5757
- id: isort
5858
name: isort-src
@@ -66,7 +66,7 @@ repos:
6666
alias: isort-meta
6767
files: ^(docs|tests)
6868
- repo: https://github.com/mondeja/mdpo
69-
rev: v1.1.0
69+
rev: v1.1.3
7070
hooks:
7171
- id: md2po2md
7272
files: ^README\.md
@@ -85,7 +85,7 @@ repos:
8585
- id: untranslated-messages
8686
- id: remove-metadata
8787
- repo: https://github.com/adrienverge/yamllint
88-
rev: v1.28.0
88+
rev: v1.29.0
8989
hooks:
9090
- id: yamllint
9191
files: .+\.(yml|yaml)
@@ -99,13 +99,13 @@ repos:
9999
name: markdownlint-readme
100100
files: ^README.md
101101
- repo: https://github.com/editorconfig-checker/editorconfig-checker.python
102-
rev: 2.6.2
102+
rev: 2.7.1
103103
hooks:
104104
- id: editorconfig-checker
105105
name: editorconfig-checker
106106
alias: ec
107107
- repo: https://github.com/myint/autoflake
108-
rev: v2.0.0
108+
rev: v2.0.1
109109
hooks:
110110
- id: autoflake
111111
args:

locale/es/README.md

Lines changed: 51 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,8 @@
22

33
Plugin de inclusiones Markdown para Mkdocs.
44

5-
[![PyPI][pypi-version-badge-link]][pypi-link]
6-
[![Tests][tests-image]][tests-link] [![Coverage
7-
status][coverage-image]][coverage-link]
5+
[![PyPI][pypi-version-badge-link]][pypi-link] [![Tests][tests-image]][tests-link]
6+
[![Coverage status][coverage-image]][coverage-link]
87

98
> Lee este documento en otros idiomas:
109
>
@@ -35,8 +34,9 @@ entrar en conflicto, como [`mkdocs-macros-plugin`][mkdocs-macros-plugin-link].
3534

3635
El comportamiento global del plugin puede ser personalizado en la configuración.
3736

38-
- <a name="config_tags" href="#config_tags">#</a> **opening_tag** and **closing_tag**:
39-
Las etiquetas de apertura y cierre. Por defecto son `{%` y `%}`.
37+
- <a name="config_tags" href="#config_tags">#</a> **opening_tag** and
38+
**closing_tag**: Las etiquetas de apertura y cierre. Por defecto son `{%` y
39+
`%}`.
4040

4141
El resto de las opciones definirán los valores por defecto pasados a los
4242
argumentos de las directivas y están documentados en la [referencia](#reference).
@@ -55,8 +55,8 @@ plugins:
5555

5656
### Referencia
5757

58-
Este plugin provee dos directivas, una para incluir archivos Markdown y otra
59-
para incluir archivos de cualquier tipo.
58+
Este plugin provee dos directivas, una para incluir archivos Markdown y otra para
59+
incluir archivos de cualquier tipo.
6060

6161
Las rutas de los archivos incluidos pueden ser absolutas o relativas a la ruta
6262
del archivo que las incluye. Este argumento también acepta globs, en cuyo caso
@@ -75,45 +75,45 @@ salto de línea
7575
Incluye contenido de archivos Markdown, opcionalmente usando dos delimitadores
7676
para filtrar el contenido a incluir.
7777

78-
- <a name="include-markdown_start" href="#include-markdown_start">#</a> **start**:
79-
Delimitador que marca el comienzo del contenido a incluir.
78+
- <a name="include-markdown_start" href="#include-markdown_start">#</a>
79+
**start**: Delimitador que marca el comienzo del contenido a incluir.
8080
- <a name="include-markdown_end" href="#include-markdown_end">#</a> **end**:
8181
Delimitador que marca el final del contenido a incluir.
8282
- <a name="include-markdown_preserve-includer-indent"
83-
href="#include-markdown_preserve-includer-indent">#</a> **preserve-includer-indent**
84-
(*true*): Cuando esta opción está habilitada (por defecto), cada línea del
85-
contenido a incluir es indentada con el mismo número de espacios usados para
86-
indentar la plantilla `{% %}` incluidora. Los valores posibles son `true` y
87-
`false`.
88-
- <a name="include-markdown_dedent" href="#include-markdown_dedent">#</a> **dedent**
89-
(*false*): Si se habilita, el contenido incluido será dedentado.
90-
- <a name="include-markdown_exclude" href="#include-markdown_exclude">#</a> **exclude**:
91-
Expecifica mediante un glob los archivos que deben ser ignorados. Sólo es útil
92-
pasando globs para incluir múltiples archivos.
83+
href="#include-markdown_preserve-includer-indent">#</a>
84+
**preserve-includer-indent** (*true*): Cuando esta opción está habilitada (por
85+
defecto), cada línea del contenido a incluir es indentada con el mismo número de
86+
espacios usados para indentar la plantilla `{% %}` incluidora. Los valores
87+
posibles son `true` y `false`.
88+
- <a name="include-markdown_dedent" href="#include-markdown_dedent">#</a>
89+
**dedent** (*false*): Si se habilita, el contenido incluido será dedentado.
90+
- <a name="include-markdown_exclude" href="#include-markdown_exclude">#</a>
91+
**exclude**: Expecifica mediante un glob los archivos que deben ser ignorados.
92+
Sólo es útil pasando globs para incluir múltiples archivos.
9393
- <a name="include-markdown_trailing-newlines"
94-
href="#include-markdown_trailing-newlines">#</a> **trailing-newlines** (*true*):
95-
Cuando esta opción está deshabilitada, los saltos de línea finales que se
96-
encuentran en el contenido a incluir se eliminan. Los valores posibles son
94+
href="#include-markdown_trailing-newlines">#</a> **trailing-newlines**
95+
(*true*): Cuando esta opción está deshabilitada, los saltos de línea finales que
96+
se encuentran en el contenido a incluir se eliminan. Los valores posibles son
9797
`true` y `false`.
98-
- <a name="include-markdown_encoding" href="#include-markdown_encoding">#</a> **encoding**
99-
(*utf-8*): Especifica la codificación del archivo incluído. Si no se define, se
100-
usará `utf-8`.
98+
- <a name="include-markdown_encoding" href="#include-markdown_encoding">#</a>
99+
**encoding** (*utf-8*): Especifica la codificación del archivo incluído. Si no
100+
se define, se usará `utf-8`.
101101
- <a name="include-markdown_rewrite-relative-urls"
102-
href="#include-markdown_rewrite-relative-urls">#</a> **rewrite-relative-urls** (*true*):
103-
Cuando esta opción está habilitada (por defecto), los enlaces e imágenes
104-
Markdown en el contenido que están definidas mediante una URL relativa son
105-
rescritos para funcionar correctamente en su nueva localización. Los valores
102+
href="#include-markdown_rewrite-relative-urls">#</a> **rewrite-relative-urls**
103+
(*true*): Cuando esta opción está habilitada (por defecto), los enlaces e
104+
imágenes Markdown en el contenido que están definidas mediante una URL relativa
105+
son rescritos para funcionar correctamente en su nueva localización. Los valores
106106
posibles son `true` y `false`.
107-
- <a name="include-markdown_comments" href="#include-markdown_comments">#</a> **comments**
108-
(*true*): Cuando esta opción está habilitada (por defecto), el contenido a
109-
incluir es envuelto por comentarios `<!-- BEGIN INCLUDE -->` y
107+
- <a name="include-markdown_comments" href="#include-markdown_comments">#</a>
108+
**comments** (*true*): Cuando esta opción está habilitada (por defecto), el
109+
contenido a incluir es envuelto por comentarios `<!-- BEGIN INCLUDE -->` y
110110
`<!-- END INCLUDE -->` que ayudan a identificar que el contenido ha sido
111111
incluido. Los valores posibles son `true` y `false`.
112112
- <a name="include-markdown_heading-offset"
113-
href="#include-markdown_heading-offset">#</a> **heading-offset** (0): Incrementa
114-
o disminuye la profundidad de encabezados Markdown por el número especificado.
115-
Sólo soporta la sintaxis de encabezado de caracteres de hash (`#`). Acepta
116-
valores negativos para eliminar caracteres `#` a la izquierda.
113+
href="#include-markdown_heading-offset">#</a> **heading-offset** (0):
114+
Incrementa o disminuye la profundidad de encabezados Markdown por el número
115+
especificado. Sólo soporta la sintaxis de encabezado de caracteres de hash
116+
(`#`). Acepta valores negativos para eliminar caracteres `#` a la izquierda.
117117

118118
##### Ejemplos
119119

@@ -164,22 +164,23 @@ marca el comienzo del contenido a incluir.
164164
- <a name="include_end" href="#include_end">#</a> **end**: Delimitador que marca
165165
el final del contenido a incluir.
166166
- <a name="include_preserve-includer-indent"
167-
href="#include_preserve-includer-indent">#</a> **preserve-includer-indent** (*true*):
168-
Cuando esta opción está habilitada (por defecto), cada línea del contenido a
169-
incluir es indentada con el mismo número de espacios usados para indentar la
170-
plantilla `{% %}` incluidora. Los valores posibles son `true` y `false`.
167+
href="#include_preserve-includer-indent">#</a> **preserve-includer-indent**
168+
(*true*): Cuando esta opción está habilitada (por defecto), cada línea del
169+
contenido a incluir es indentada con el mismo número de espacios usados para
170+
indentar la plantilla `{% %}` incluidora. Los valores posibles son `true` y
171+
`false`.
171172
- <a name="include_dedent" href="#include_dedent">#</a> **dedent** (*false*): Si
172173
se habilita, el contenido incluido será dedentado.
173-
- <a name="include_exclude" href="#include_exclude">#</a> **exclude**:
174-
Especifica mediante un glob los archivos que deben ser ignorados. Sólo es útil
175-
pasando globs para incluir múltiples archivos.
176-
- <a name="include_trailing-newlines" href="#include_trailing-newlines">#</a> **trailing-newlines**
177-
(*true*): Cuando esta opción está deshabilitada, los saltos de línea finales que
178-
se encuentran en el contenido a incluir se eliminan. Los valores posibles son
179-
`true` y `false`.
180-
- <a name="include_encoding" href="#include_encoding">#</a> **encoding** (*utf-8*):
181-
Especifica la codificación del archivo incluído. Si no se define, se usará
182-
`utf-8`.
174+
- <a name="include_exclude" href="#include_exclude">#</a> **exclude**: Especifica
175+
mediante un glob los archivos que deben ser ignorados. Sólo es útil pasando
176+
globs para incluir múltiples archivos.
177+
- <a name="include_trailing-newlines" href="#include_trailing-newlines">#</a>
178+
**trailing-newlines** (*true*): Cuando esta opción está deshabilitada, los
179+
saltos de línea finales que se encuentran en el contenido a incluir se eliminan.
180+
Los valores posibles son `true` y `false`.
181+
- <a name="include_encoding" href="#include_encoding">#</a> **encoding**
182+
(*utf-8*): Especifica la codificación del archivo incluído. Si no se define,
183+
se usará `utf-8`.
183184

184185
##### Ejemplos
185186

locale/fr/README.md

Lines changed: 47 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,8 @@
22

33
Plugin d'inclusion de Markdown pour Mkdocs.
44

5-
[![PyPI][pypi-version-badge-link]][pypi-link]
6-
[![Tests][tests-image]][tests-link] [![Coverage
7-
status][coverage-image]][coverage-link]
5+
[![PyPI][pypi-version-badge-link]][pypi-link] [![Tests][tests-image]][tests-link]
6+
[![Coverage status][coverage-image]][coverage-link]
87

98
> Lire ce document dans d'autres langues:
109
>
@@ -29,14 +28,16 @@ plugins:
2928
```
3029
3130
> Assurez-vous de définir `include-markdown` avant d'autres plugins qui
32-
pourraient entrer en conflit, comme [`mkdocs-macros-plugin`][mkdocs-macros-plugin-link].
31+
pourraient entrer en conflit, comme
32+
[`mkdocs-macros-plugin`][mkdocs-macros-plugin-link].
3333

3434
### Configuration
3535

3636
Le comportement global du plugin peut être personnalisé dans la configuration.
3737

38-
- <a name="config_tags" href="#config_tags">#</a> **opening_tag** and **closing_tag**:
39-
Les balises d'ouverture et de fermeture par défaut. Par défaut sont `{%` et `%}`.
38+
- <a name="config_tags" href="#config_tags">#</a> **opening_tag** and
39+
**closing_tag**: Les balises d'ouverture et de fermeture par défaut. Par
40+
défaut sont `{%` et `%}`.
4041

4142
Le reste des options définira les valeurs par défaut passées aux arguments des
4243
directives et sont documentées dans la [référence](#reference).
@@ -75,39 +76,40 @@ lignes.
7576
Inclut contenu des Markdown fichiers, en utilisant éventuellement deux
7677
délimiteurs pour filtrer le contenu à inclure.
7778

78-
- <a name="include-markdown_start" href="#include-markdown_start">#</a> **start**:
79-
Délimiteur qui marque le début du contenu à inclure.
79+
- <a name="include-markdown_start" href="#include-markdown_start">#</a>
80+
**start**: Délimiteur qui marque le début du contenu à inclure.
8081
- <a name="include-markdown_end" href="#include-markdown_end">#</a> **end**:
8182
Délimiteur qui marque la fin du contenu à inclure.
8283
- <a name="include-markdown_preserve-includer-indent"
83-
href="#include-markdown_preserve-includer-indent">#</a> **preserve-includer-indent**
84-
(*true*): Lorsque cette option est activée (par défaut), chaque ligne du contenu
85-
à inclure est indentée avec le même nombre d'espaces utilisé pour indenter
86-
l'incluseur modèle `{% %}`. Les valeurs possibles sont `true` et `false`.
87-
- <a name="include-markdown_dedent" href="#include-markdown_dedent">#</a> **dedent**
88-
(*false*): Lorsque est activée, le contenu inclus sera déchiqueté.
89-
- <a name="include-markdown_exclude" href="#include-markdown_exclude">#</a> **exclude**:
90-
Spécifiez avec un glob quels fichiers doivent être ignorés. Uniquement utile
91-
lors du passage de globs pour inclure plusieurs fichiers.
84+
href="#include-markdown_preserve-includer-indent">#</a>
85+
**preserve-includer-indent** (*true*): Lorsque cette option est activée (par
86+
défaut), chaque ligne du contenu à inclure est indentée avec le même nombre
87+
d'espaces utilisé pour indenter l'incluseur modèle `{% %}`. Les valeurs
88+
possibles sont `true` et `false`.
89+
- <a name="include-markdown_dedent" href="#include-markdown_dedent">#</a>
90+
**dedent** (*false*): Lorsque est activée, le contenu inclus sera déchiqueté.
91+
- <a name="include-markdown_exclude" href="#include-markdown_exclude">#</a>
92+
**exclude**: Spécifiez avec un glob quels fichiers doivent être ignorés.
93+
Uniquement utile lors du passage de globs pour inclure plusieurs fichiers.
9294
- <a name="include-markdown_trailing-newlines"
93-
href="#include-markdown_trailing-newlines">#</a> **trailing-newlines** (*true*):
94-
Lorsque cette option est désactivée, les nouvelles lignes de fin trouvées dans
95-
le contenu à inclure sont supprimées. Les valeurs possibles sont `true` et
96-
`false`.
97-
- <a name="include-markdown_encoding" href="#include-markdown_encoding">#</a> **encoding**
98-
(*utf-8*): Spécifiez l'encodage du fichier inclus. S'il n'est pas défini,
99-
`utf-8` sera utilisé.
100-
- <a name="include-markdown_rewrite-relative-urls"
101-
href="#include-markdown_rewrite-relative-urls">#</a> **rewrite-relative-urls** (*true*):
102-
Lorsque cette option est activée (par défaut), liens et images Markdown dans le
103-
contenu qui sont spécifiés par une URL relative sont réécrits pour fonctionner
104-
correctement dans leur nouvel emplacement. Les valeurs possibles sont `true` et
105-
`false`.
106-
- <a name="include-markdown_comments" href="#include-markdown_comments">#</a> **comments**
107-
(*true*): Lorsque cette option est activée (par défaut), le contenu à inclure
108-
est entouré de `<!-- BEGIN INCLUDE -->` et `<!-- END INCLUDE -->` commentaires
109-
qui aident à identifier que le contenu a été inclus. Les valeurs possibles sont
95+
href="#include-markdown_trailing-newlines">#</a> **trailing-newlines**
96+
(*true*): Lorsque cette option est désactivée, les nouvelles lignes de fin
97+
trouvées dans le contenu à inclure sont supprimées. Les valeurs possibles sont
11098
`true` et `false`.
99+
- <a name="include-markdown_encoding" href="#include-markdown_encoding">#</a>
100+
**encoding** (*utf-8*): Spécifiez l'encodage du fichier inclus. S'il n'est pas
101+
défini, `utf-8` sera utilisé.
102+
- <a name="include-markdown_rewrite-relative-urls"
103+
href="#include-markdown_rewrite-relative-urls">#</a> **rewrite-relative-urls**
104+
(*true*): Lorsque cette option est activée (par défaut), liens et images
105+
Markdown dans le contenu qui sont spécifiés par une URL relative sont réécrits
106+
pour fonctionner correctement dans leur nouvel emplacement. Les valeurs
107+
possibles sont `true` et `false`.
108+
- <a name="include-markdown_comments" href="#include-markdown_comments">#</a>
109+
**comments** (*true*): Lorsque cette option est activée (par défaut), le
110+
contenu à inclure est entouré de `<!-- BEGIN INCLUDE -->` et
111+
`<!-- END INCLUDE -->` commentaires qui aident à identifier que le contenu a été
112+
inclus. Les valeurs possibles sont `true` et `false`.
111113
- <a name="include-markdown_heading-offset"
112114
href="#include-markdown_heading-offset">#</a> **heading-offset** (0): Augmente
113115
ou diminue la profondeur des en-têtes Markdown de ce nombre. Ne prend en charge
@@ -163,22 +165,22 @@ marque le début du contenu à inclure.
163165
- <a name="include_end" href="#include_end">#</a> **end**: Délimiteur qui marque
164166
la fin du contenu à inclure.
165167
- <a name="include_preserve-includer-indent"
166-
href="#include_preserve-includer-indent">#</a> **preserve-includer-indent** (*true*):
167-
Lorsque cette option est activée (par défaut), chaque ligne du contenu à inclure
168-
est indentée avec le même nombre d'espaces utilisé pour indenter l'incluseur
169-
modèle `{% %}`. Les valeurs possibles sont `true` et `false`.
168+
href="#include_preserve-includer-indent">#</a> **preserve-includer-indent**
169+
(*true*): Lorsque cette option est activée (par défaut), chaque ligne du contenu
170+
à inclure est indentée avec le même nombre d'espaces utilisé pour indenter
171+
l'incluseur modèle `{% %}`. Les valeurs possibles sont `true` et `false`.
170172
- <a name="include_dedent" href="#include_dedent">#</a> **dedent** (*false*):
171173
Lorsque est activée, le contenu inclus sera déchiqueté.
172174
- <a name="include_exclude" href="#include_exclude">#</a> **exclude**: Spécifiez
173175
avec un glob quels fichiers doivent être ignorés. Uniquement utile lors du
174176
passage de globs pour inclure plusieurs fichiers.
175-
- <a name="include_trailing-newlines" href="#include_trailing-newlines">#</a> **trailing-newlines**
176-
(*true*): Lorsque cette option est désactivée, les nouvelles lignes de fin
177-
trouvées dans le contenu à inclure sont supprimées. Les valeurs possibles sont
178-
`true` et `false`.
179-
- <a name="include_encoding" href="#include_encoding">#</a> **encoding** (*utf-8*):
180-
Spécifiez l'encodage du fichier inclus. S'il n'est pas défini, `utf-8` sera
181-
utilisé.
177+
- <a name="include_trailing-newlines" href="#include_trailing-newlines">#</a>
178+
**trailing-newlines** (*true*): Lorsque cette option est désactivée, les
179+
nouvelles lignes de fin trouvées dans le contenu à inclure sont supprimées. Les
180+
valeurs possibles sont `true` et `false`.
181+
- <a name="include_encoding" href="#include_encoding">#</a> **encoding**
182+
(*utf-8*): Spécifiez l'encodage du fichier inclus. S'il n'est pas défini,
183+
`utf-8` sera utilisé.
182184

183185
##### Exemples
184186

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "mkdocs-include-markdown-plugin"
3-
version = "4.0.3"
3+
version = "4.0.4"
44
description = "Mkdocs Markdown includer plugin."
55
readme = "README.md"
66
license = "Apache-2.0"

src/mkdocs_include_markdown_plugin/plugin.py

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -55,21 +55,24 @@ def on_config(self, config: MkDocsConfig, **kwargs: Any) -> MkDocsConfig:
5555

5656
def _watch_included_files(self) -> None:
5757
global FILES_WATCHER, SERVER
58-
FILES_WATCHER = cast(FilesWatcher, FILES_WATCHER)
5958
SERVER = cast(LiveReloadServer, SERVER)
6059

61-
# unwatch previous watched files not needed anymore
62-
for filepath in FILES_WATCHER.prev_included_files:
63-
if filepath not in FILES_WATCHER.included_files:
64-
SERVER.unwatch(filepath)
65-
FILES_WATCHER.prev_included_files = (
66-
FILES_WATCHER.included_files[:]
67-
)
68-
69-
# watch new included files
70-
for filepath in FILES_WATCHER.included_files:
71-
SERVER.watch(filepath, recursive=False)
72-
FILES_WATCHER.included_files = []
60+
# compatibility with Mkdocs < 1.4.0
61+
if hasattr(SERVER, 'unwatch'):
62+
FILES_WATCHER = cast(FilesWatcher, FILES_WATCHER)
63+
64+
# unwatch previous watched files not needed anymore
65+
for filepath in FILES_WATCHER.prev_included_files:
66+
if filepath not in FILES_WATCHER.included_files:
67+
SERVER.unwatch(filepath)
68+
FILES_WATCHER.prev_included_files = (
69+
FILES_WATCHER.included_files[:]
70+
)
71+
72+
# watch new included files
73+
for filepath in FILES_WATCHER.included_files:
74+
SERVER.watch(filepath, recursive=False)
75+
FILES_WATCHER.included_files = []
7376

7477
def on_page_content(
7578
self,

0 commit comments

Comments
 (0)