sphinx_biel 0.1.7__py2.py3-none-any.whl → 0.1.9__py2.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.
- sphinx_biel/__init__.py +70 -54
- {sphinx_biel-0.1.7.dist-info → sphinx_biel-0.1.9.dist-info}/METADATA +1 -1
- sphinx_biel-0.1.9.dist-info/RECORD +5 -0
- sphinx_biel-0.1.7.dist-info/RECORD +0 -5
- {sphinx_biel-0.1.7.dist-info → sphinx_biel-0.1.9.dist-info}/WHEEL +0 -0
- {sphinx_biel-0.1.7.dist-info → sphinx_biel-0.1.9.dist-info}/licenses/LICENSE.md +0 -0
sphinx_biel/__init__.py
CHANGED
|
@@ -5,51 +5,60 @@ ASK AI chatbot for Sphinx.
|
|
|
5
5
|
This code is licensed under MIT license (see LICENSE.md for details).
|
|
6
6
|
"""
|
|
7
7
|
|
|
8
|
-
__version__ = "0.1.
|
|
8
|
+
__version__ = "0.1.9"
|
|
9
9
|
|
|
10
10
|
from sphinx.application import Sphinx
|
|
11
11
|
|
|
12
|
+
|
|
12
13
|
class BielExtension:
|
|
13
14
|
DEFAULT_OPTIONS = {
|
|
14
15
|
# biel-button
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
16
|
+
"project": None,
|
|
17
|
+
"button_position": "bottom-right",
|
|
18
|
+
"button_text": "Ask AI",
|
|
19
|
+
"button_style": "dark",
|
|
20
|
+
"custom_font": None,
|
|
21
|
+
"hide_icon": None,
|
|
22
|
+
"ai_icon": None,
|
|
23
|
+
"hide_avatars": None,
|
|
24
|
+
"version": "latest",
|
|
25
|
+
"api_key": None,
|
|
26
|
+
"metadata": None,
|
|
26
27
|
# biel-bot
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
28
|
+
"disable_input": None,
|
|
29
|
+
"email": None,
|
|
30
|
+
"expand_modal": None,
|
|
31
|
+
"hide_close_button": None,
|
|
32
|
+
"hide_expand_button": None,
|
|
33
|
+
"hide_refresh_button": None,
|
|
34
|
+
"hide_sources": None,
|
|
35
|
+
"hide_feedback": None,
|
|
36
|
+
"hide_think_mode_button": None,
|
|
37
|
+
"hide_tooltips": None,
|
|
38
|
+
"modal_position": None,
|
|
39
|
+
"show_terms_modal": None,
|
|
40
|
+
"think_mode_enabled": None,
|
|
38
41
|
# biel-bot text
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
42
|
+
"assistant_label": None,
|
|
43
|
+
"close_button_text": None,
|
|
44
|
+
"collapse_button_text": None,
|
|
45
|
+
"error_message_4_0_3": None,
|
|
46
|
+
"error_message_4_0_4": None,
|
|
47
|
+
"error_message_default": None,
|
|
48
|
+
"expand_button_text": None,
|
|
49
|
+
"footer_text": None,
|
|
50
|
+
"header_title": "Biel.ai chatbot",
|
|
51
|
+
"input_placeholder_text": None,
|
|
52
|
+
"refresh_button_text": None,
|
|
53
|
+
"send_button_text": None,
|
|
54
|
+
"sources_text": None,
|
|
55
|
+
"suggested_questions": None,
|
|
56
|
+
"suggested_questions_title": None,
|
|
57
|
+
"terms_checkbox_text": None,
|
|
58
|
+
"terms_description": None,
|
|
59
|
+
"terms_title": None,
|
|
60
|
+
"think_mode_button_text": None,
|
|
61
|
+
"welcome_message": None,
|
|
53
62
|
}
|
|
54
63
|
|
|
55
64
|
def __init__(self, app: Sphinx):
|
|
@@ -60,26 +69,29 @@ class BielExtension:
|
|
|
60
69
|
@staticmethod
|
|
61
70
|
def snake_to_kebab(string):
|
|
62
71
|
"""Convert snake_case string to kebab-case."""
|
|
63
|
-
return string.replace(
|
|
72
|
+
return string.replace("_", "-")
|
|
64
73
|
|
|
65
74
|
def inject_biel_scripts(self, app, pagename, templatename, context, doctree):
|
|
66
|
-
version = getattr(app.config, "biel_version", self.DEFAULT_OPTIONS[
|
|
67
|
-
biel_js_module = f
|
|
75
|
+
version = getattr(app.config, "biel_version", self.DEFAULT_OPTIONS["version"])
|
|
76
|
+
biel_js_module = f"""
|
|
68
77
|
<script type="module" src="https://cdn.jsdelivr.net/npm/biel-search@{version}/dist/biel-search/biel-search.esm.js"></script>
|
|
69
|
-
|
|
78
|
+
"""
|
|
70
79
|
|
|
71
80
|
# Add Biel JS module to body
|
|
72
|
-
context.setdefault(
|
|
73
|
-
context[
|
|
81
|
+
context.setdefault("body", "")
|
|
82
|
+
context["body"] += biel_js_module
|
|
74
83
|
|
|
75
84
|
if getattr(app.config, "biel_button_position", None) != "default":
|
|
76
85
|
attribute_pairs = [
|
|
77
86
|
f'bielBtn.setAttribute("{self.snake_to_kebab(key)}", "{getattr(app.config, f"biel_{key}")}");'
|
|
78
|
-
for key in self.DEFAULT_OPTIONS.keys()
|
|
87
|
+
for key in self.DEFAULT_OPTIONS.keys()
|
|
88
|
+
if getattr(app.config, f"biel_{key}") is not None
|
|
79
89
|
]
|
|
80
90
|
set_attributes_script = "\n ".join(attribute_pairs)
|
|
81
|
-
|
|
82
|
-
button_text = getattr(
|
|
91
|
+
|
|
92
|
+
button_text = getattr(
|
|
93
|
+
app.config, "biel_button_text", self.DEFAULT_OPTIONS["button_text"]
|
|
94
|
+
)
|
|
83
95
|
|
|
84
96
|
biel_script = f'''
|
|
85
97
|
<script>
|
|
@@ -91,22 +103,26 @@ class BielExtension:
|
|
|
91
103
|
}});
|
|
92
104
|
</script>
|
|
93
105
|
'''
|
|
94
|
-
context[
|
|
106
|
+
context["body"] += biel_script
|
|
95
107
|
|
|
96
108
|
def setup_options(self):
|
|
97
109
|
for key in self.DEFAULT_OPTIONS.keys():
|
|
98
|
-
self.app.add_config_value(f
|
|
110
|
+
self.app.add_config_value(f"biel_{key}", self.DEFAULT_OPTIONS[key], "html")
|
|
99
111
|
|
|
100
112
|
def setup_events(self):
|
|
101
|
-
version = getattr(
|
|
102
|
-
|
|
103
|
-
|
|
113
|
+
version = getattr(
|
|
114
|
+
self.app.config, "biel_version", self.DEFAULT_OPTIONS["version"]
|
|
115
|
+
)
|
|
116
|
+
self.app.add_css_file(
|
|
117
|
+
f"https://cdn.jsdelivr.net/npm/biel-search@{version}/dist/biel-search/biel-search.css"
|
|
118
|
+
)
|
|
119
|
+
self.app.connect("html-page-context", self.inject_biel_scripts)
|
|
104
120
|
|
|
105
121
|
|
|
106
122
|
def setup(app: Sphinx):
|
|
107
123
|
extension = BielExtension(app)
|
|
108
124
|
return {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
125
|
+
"version": __version__,
|
|
126
|
+
"parallel_read_safe": True,
|
|
127
|
+
"parallel_write_safe": True,
|
|
112
128
|
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
sphinx_biel/__init__.py,sha256=PP5FRjMVceb9D2zZRENj5LwmcAl1T-PdOA0Rvj_uJBw,4285
|
|
2
|
+
sphinx_biel-0.1.9.dist-info/licenses/LICENSE.md,sha256=Iswh4l-k6fOZeKmtFbDd_bJjuVOgNJcKJZ7uAVZrUv8,1051
|
|
3
|
+
sphinx_biel-0.1.9.dist-info/WHEEL,sha256=Dyt6SBfaasWElUrURkknVFAZDHSTwxg3PaTza7RSbkY,100
|
|
4
|
+
sphinx_biel-0.1.9.dist-info/METADATA,sha256=VQKsElXXoBXNLTfNBj_LrUqLWNyAE_twdNHDYCvniIw,1451
|
|
5
|
+
sphinx_biel-0.1.9.dist-info/RECORD,,
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
sphinx_biel/__init__.py,sha256=GX3emGaGBo_PoZy-7kwYUZRIbyAxi6AZugl59y8pJGM,3856
|
|
2
|
-
sphinx_biel-0.1.7.dist-info/licenses/LICENSE.md,sha256=Iswh4l-k6fOZeKmtFbDd_bJjuVOgNJcKJZ7uAVZrUv8,1051
|
|
3
|
-
sphinx_biel-0.1.7.dist-info/WHEEL,sha256=Dyt6SBfaasWElUrURkknVFAZDHSTwxg3PaTza7RSbkY,100
|
|
4
|
-
sphinx_biel-0.1.7.dist-info/METADATA,sha256=u0RdRRX1typorsvzkF7uFV9YX1HrW-aN-IZfqXD6uBI,1451
|
|
5
|
-
sphinx_biel-0.1.7.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|