sphinx_biel 0.1.8__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 -63
- {sphinx_biel-0.1.8.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.8.dist-info/RECORD +0 -5
- {sphinx_biel-0.1.8.dist-info → sphinx_biel-0.1.9.dist-info}/WHEEL +0 -0
- {sphinx_biel-0.1.8.dist-info → sphinx_biel-0.1.9.dist-info}/licenses/LICENSE.md +0 -0
sphinx_biel/__init__.py
CHANGED
|
@@ -5,60 +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
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
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,
|
|
41
41
|
# biel-bot text
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
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,
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
def __init__(self, app: Sphinx):
|
|
@@ -69,26 +69,29 @@ class BielExtension:
|
|
|
69
69
|
@staticmethod
|
|
70
70
|
def snake_to_kebab(string):
|
|
71
71
|
"""Convert snake_case string to kebab-case."""
|
|
72
|
-
return string.replace(
|
|
72
|
+
return string.replace("_", "-")
|
|
73
73
|
|
|
74
74
|
def inject_biel_scripts(self, app, pagename, templatename, context, doctree):
|
|
75
|
-
version = getattr(app.config, "biel_version", self.DEFAULT_OPTIONS[
|
|
76
|
-
biel_js_module = f
|
|
75
|
+
version = getattr(app.config, "biel_version", self.DEFAULT_OPTIONS["version"])
|
|
76
|
+
biel_js_module = f"""
|
|
77
77
|
<script type="module" src="https://cdn.jsdelivr.net/npm/biel-search@{version}/dist/biel-search/biel-search.esm.js"></script>
|
|
78
|
-
|
|
78
|
+
"""
|
|
79
79
|
|
|
80
80
|
# Add Biel JS module to body
|
|
81
|
-
context.setdefault(
|
|
82
|
-
context[
|
|
81
|
+
context.setdefault("body", "")
|
|
82
|
+
context["body"] += biel_js_module
|
|
83
83
|
|
|
84
84
|
if getattr(app.config, "biel_button_position", None) != "default":
|
|
85
85
|
attribute_pairs = [
|
|
86
86
|
f'bielBtn.setAttribute("{self.snake_to_kebab(key)}", "{getattr(app.config, f"biel_{key}")}");'
|
|
87
|
-
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
|
|
88
89
|
]
|
|
89
90
|
set_attributes_script = "\n ".join(attribute_pairs)
|
|
90
|
-
|
|
91
|
-
button_text = getattr(
|
|
91
|
+
|
|
92
|
+
button_text = getattr(
|
|
93
|
+
app.config, "biel_button_text", self.DEFAULT_OPTIONS["button_text"]
|
|
94
|
+
)
|
|
92
95
|
|
|
93
96
|
biel_script = f'''
|
|
94
97
|
<script>
|
|
@@ -100,22 +103,26 @@ class BielExtension:
|
|
|
100
103
|
}});
|
|
101
104
|
</script>
|
|
102
105
|
'''
|
|
103
|
-
context[
|
|
106
|
+
context["body"] += biel_script
|
|
104
107
|
|
|
105
108
|
def setup_options(self):
|
|
106
109
|
for key in self.DEFAULT_OPTIONS.keys():
|
|
107
|
-
self.app.add_config_value(f
|
|
110
|
+
self.app.add_config_value(f"biel_{key}", self.DEFAULT_OPTIONS[key], "html")
|
|
108
111
|
|
|
109
112
|
def setup_events(self):
|
|
110
|
-
version = getattr(
|
|
111
|
-
|
|
112
|
-
|
|
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)
|
|
113
120
|
|
|
114
121
|
|
|
115
122
|
def setup(app: Sphinx):
|
|
116
123
|
extension = BielExtension(app)
|
|
117
124
|
return {
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
125
|
+
"version": __version__,
|
|
126
|
+
"parallel_read_safe": True,
|
|
127
|
+
"parallel_write_safe": True,
|
|
121
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=fOt2-efWmLU7aR6xoe5ID7hUSyQ3I0nwX6A9OuVhWnY,4182
|
|
2
|
-
sphinx_biel-0.1.8.dist-info/licenses/LICENSE.md,sha256=Iswh4l-k6fOZeKmtFbDd_bJjuVOgNJcKJZ7uAVZrUv8,1051
|
|
3
|
-
sphinx_biel-0.1.8.dist-info/WHEEL,sha256=Dyt6SBfaasWElUrURkknVFAZDHSTwxg3PaTza7RSbkY,100
|
|
4
|
-
sphinx_biel-0.1.8.dist-info/METADATA,sha256=9X0dEHxN5R8erlR2Kt4LkCTQadrSqHxO8U4wMNsT9Dk,1451
|
|
5
|
-
sphinx_biel-0.1.8.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|