diff --git a/cookbook/helper/mdx_attributes.py b/cookbook/helper/mdx_attributes.py
index 2bde4a105..6eeaecd3d 100644
--- a/cookbook/helper/mdx_attributes.py
+++ b/cookbook/helper/mdx_attributes.py
@@ -7,7 +7,7 @@ class StyleTreeprocessor(Treeprocessor):
def run_processor(self, node):
for child in node:
if child.tag == "table":
- child.set("class", "table table-bordered")
+ child.set("class", "markdown-body")
if child.tag == "img":
child.set("class", "img-fluid")
self.run_processor(child)
diff --git a/cookbook/helper/template_helper.py b/cookbook/helper/template_helper.py
index 339a35d79..368caf297 100644
--- a/cookbook/helper/template_helper.py
+++ b/cookbook/helper/template_helper.py
@@ -70,7 +70,7 @@ def render_instructions(step): # TODO deduplicate markdown cleanup code
parsed_md = md.markdown(
instructions,
extensions=[
- 'markdown.extensions.fenced_code', TableExtension(),
+ 'markdown.extensions.fenced_code', 'markdown.extensions.sane_lists', 'markdown.extensions.nl2br', TableExtension(),
UrlizeExtension(), MarkdownFormatExtension()
]
)
diff --git a/requirements.txt b/requirements.txt
index 88aa36a72..4ba4c6100 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -14,7 +14,7 @@ django-debug-toolbar==4.3.0
bleach==6.2.0
gunicorn==23.0.0
lxml==5.3.1
-Markdown==3.5.1
+Markdown==3.7
Pillow==11.1.0
psycopg2-binary==2.9.10
python-dotenv==1.0.0
diff --git a/vue3/src/components/display/Instructions.vue b/vue3/src/components/display/Instructions.vue
index d4ef7414d..d22d6131b 100644
--- a/vue3/src/components/display/Instructions.vue
+++ b/vue3/src/components/display/Instructions.vue
@@ -1,6 +1,6 @@
-
+
+
diff --git a/vue3/src/components/display/StepView.vue b/vue3/src/components/display/StepView.vue
index 9d86dd90d..55ebd7c50 100644
--- a/vue3/src/components/display/StepView.vue
+++ b/vue3/src/components/display/StepView.vue
@@ -26,7 +26,7 @@
-
+
diff --git a/vue3/src/components/inputs/StepEditor.vue b/vue3/src/components/inputs/StepEditor.vue
index f5ba24f59..ea1fa0040 100644
--- a/vue3/src/components/inputs/StepEditor.vue
+++ b/vue3/src/components/inputs/StepEditor.vue
@@ -55,15 +55,15 @@
+ hide-details v-if="!ingredient.noAmount">
-
-
+
+
@@ -84,6 +84,9 @@
+
+
+
{{
$t('Move')
}}
@@ -120,7 +123,7 @@
{{ $t('Instructions') }}
-
+
{{ step.instruction }}
@@ -128,6 +131,11 @@
{{ $t('InstructionsEditHelp') }}
+
+
+
+
+
@@ -352,7 +360,11 @@ function handleIngredientNoteTab(event: KeyboardEvent, index: number) {
* insert a new ingredient and focus its first input
*/
function insertAndFocusIngredient() {
- let ingredient = {} as Ingredient
+ let ingredient = {
+ amount: 0,
+ unit: null,
+ food: null,
+ } as Ingredient
if (defaultUnit.value != null) {
ingredient.unit = defaultUnit.value
diff --git a/vue3/src/components/inputs/StepMarkdownEditor.vue b/vue3/src/components/inputs/StepMarkdownEditor.vue
index 4f52a6229..3d80c7841 100644
--- a/vue3/src/components/inputs/StepMarkdownEditor.vue
+++ b/vue3/src/components/inputs/StepMarkdownEditor.vue
@@ -2,23 +2,23 @@
+ :toolbars="md_editor_toolbars" :defaultOpen="'edit'" ref="markdownEditor">
-