diff --git a/Dockerfile b/Dockerfile
index 5ca8fc352895..c833de692fea 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,4 +1,4 @@
-FROM node:alpine as build-stage
+FROM node:lts-alpine as build-stage
WORKDIR /app
COPY ./frontend/package*.json ./
RUN npm install
@@ -18,9 +18,9 @@ WORKDIR /app
RUN pip install -r requirements.txt
COPY ./mealie /app
-COPY ./mealie/data/templates/recipes.md /app/data/templates/
+COPY ./mealie/data/templates/recipes.md /app/data/templates/recipes.md
COPY --from=build-stage /app/dist /app/dist
-RUN rm -rf /app/test
+RUN rm -rf /app/test /app/temp
ENV ENV prod
diff --git a/README.md b/README.md
index af08ad7a8c2e..ddf6db3d2bba 100644
--- a/README.md
+++ b/README.md
@@ -27,7 +27,7 @@
·
Report Bug
·
- API
+ API
·
Request Feature
diff --git a/docs/docs/api/api-examples.md b/docs/docs/api/api-examples.md
deleted file mode 100644
index 3891caadaed9..000000000000
--- a/docs/docs/api/api-examples.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# API Examples
-
-TODO
-
-Have Ideas? Submit a PR!
\ No newline at end of file
diff --git a/docs/docs/api/api-usage.md b/docs/docs/api/api-usage.md
new file mode 100644
index 000000000000..911e11347462
--- /dev/null
+++ b/docs/docs/api/api-usage.md
@@ -0,0 +1,14 @@
+# Usage
+
+## Key Components
+### Recipe Extras
+Recipes extras are a key feature of the Mealie API. They allow you to create custom json key/value pairs within a recipe to reference from 3rd part applications. You can use these keys to contain information to trigger automation or custom messages to relay to your desired device.
+
+For example you could add `{"message": "Remember to thaw the chicken"}` to a recipe and use the webhooks built into mealie to send that message payload to a destination to be processed.
+
+
+
+
+## Examples
+
+Have Ideas? Submit a PR!
\ No newline at end of file
diff --git a/docs/docs/changelog.md b/docs/docs/changelog.md
index d75aa4211944..3b117f8e6f64 100644
--- a/docs/docs/changelog.md
+++ b/docs/docs/changelog.md
@@ -1,5 +1,26 @@
# Release Notes
+## v0.0.2 - Pre-release Second Patch
+A quality update with major props to [zackbcom](https://github.com/zackbcom) for working hard on making the theming just that much better!
+### Bug Fixes
+ - Fixed opacity issues with marked steps - [mtoohey31](https://github.com/mtoohey31)
+ - Fixed hot-reloading development environment - [grssmnn](https://github.com/grssmnn)
+ - Fixed recipe not saving without image
+ - Fixed parsing error on image property null
+
+### General Improvements
+ - Added Confirmation component to deleting recipes - [zackbcom](https://github.com/zackbcom)
+ - Updated Theme backend - [zackbcom](https://github.com/zackbcom)
+ - Added Persistent storage to vuex - [zackbcom](https://github.com/zackbcom)
+ - General Color/Theme Improvements
+ - More consistent UI
+ - More minimalist coloring
+ - Added API key extras to Recipe Data - [See Documentation](/api/api-usage/)
+ - Users can now add custom json key/value pairs to all recipes via the editor for access in 3rd part applications. For example users can add a "message" field in the extras that can be accessed on API calls to play a message over google home.
+ - Improved image rendering (nearly x2 speed)
+ - Improved documentation + API Documentation
+ - Improved recipe parsing
+
## v0.0.1 - Pre-release Patch
### General
- Updated Favicon
diff --git a/docs/docs/gifs/api-extras.gif b/docs/docs/gifs/api-extras.gif
new file mode 100644
index 000000000000..d86f165c3ad7
Binary files /dev/null and b/docs/docs/gifs/api-extras.gif differ
diff --git a/docs/docs/index.md b/docs/docs/index.md
index c26fac3d449a..7c5886d464fa 100644
--- a/docs/docs/index.md
+++ b/docs/docs/index.md
@@ -10,7 +10,7 @@
·
Report Bug
·
- API
+ API
·
Request Feature
diff --git a/docs/docs/roadmap.md b/docs/docs/roadmap.md
index 788a242f15ea..f459a81264b8 100644
--- a/docs/docs/roadmap.md
+++ b/docs/docs/roadmap.md
@@ -28,7 +28,6 @@ Feature placement is not set in stone. This is much more of a guideline than any
* [ ] Basic Form Validation
- [ ] Recipe Viewer
* [ ] Print Page View - Like King Arthur Website
- * [ ] Notes Hidden/Not Hidden
* [ ] Total Time Indicator
* [ ] Bake Time
diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml
index 9074892620a6..d7f9170ab799 100644
--- a/docs/mkdocs.yml
+++ b/docs/mkdocs.yml
@@ -1,12 +1,12 @@
site_name: Mealie Docs
theme:
+ features:
+ - navigation.expand
favicon: img/favicon.png
name: material
icon:
logo: material/silverware-variant
- features:
- - navigation.expand
markdown_extensions:
- pymdownx.emoji:
@@ -34,8 +34,8 @@ nav:
- Backups and Exports: "getting-started/backups-and-exports.md"
- Recipe Migration: "getting-started/migration-imports.md"
- API Reference:
+ - API Usage: "api/api-usage.md"
- API Documentation: "api/docs/index.html"
- - Usage Examples: "api/api-examples.md"
- Contributors Guide:
- Non-Code: "contributors/non-coders.md"
- Developers Guide:
diff --git a/frontend/src/pages/MealPlanThisWeekPage.vue b/frontend/src/pages/MealPlanThisWeekPage.vue
index e5ae5e73892a..1f9148c606e4 100644
--- a/frontend/src/pages/MealPlanThisWeekPage.vue
+++ b/frontend/src/pages/MealPlanThisWeekPage.vue
@@ -1,6 +1,6 @@
-
+
-
- {{ meal.name }}
+
+
+ {{ meal.name }}
+
{{ meal.dateText }}
{{ meal.description }}
-
-
- View Recipe
-
-
+
+ View Recipe
+
diff --git a/frontend/src/pages/SettingsPage.vue b/frontend/src/pages/SettingsPage.vue
index 20a1ac85b324..c3e5ffd8d61b 100644
--- a/frontend/src/pages/SettingsPage.vue
+++ b/frontend/src/pages/SettingsPage.vue
@@ -2,7 +2,11 @@
A New Version of Mealie is Avaiable,
-
+
Visit the Repo
@@ -43,7 +47,7 @@ export default {
data() {
return {
latestVersion: null,
- version: "v0.0.1",
+ version: "v0.0.2",
};
},
mounted() {
diff --git a/mealie/services/backup_services.py b/mealie/services/backup_services.py
index 51215ca817eb..6e2cbdbe3098 100644
--- a/mealie/services/backup_services.py
+++ b/mealie/services/backup_services.py
@@ -28,6 +28,17 @@ def auto_backup_job():
logger.info("Auto Backup Called")
+def import_migration(recipe_dict: dict) -> dict:
+ del recipe_dict["_id"]
+ del recipe_dict["dateAdded"]
+
+ # Migration from list to Object Type Data
+ if type(recipe_dict["extras"]) == list:
+ recipe_dict["extras"] = {}
+
+ return recipe_dict
+
+
def import_from_archive(file_name: str) -> list:
successful_imports = []
@@ -40,16 +51,13 @@ def import_from_archive(file_name: str) -> list:
for recipe in recipe_dir.glob("*.json"):
with open(recipe, "r") as f:
recipe_dict = json.loads(f.read())
- del recipe_dict["_id"]
- del recipe_dict["dateAdded"]
+ recipe_dict = import_migration(recipe_dict)
recipeDoc = RecipeDocument(**recipe_dict)
- try:
- recipeDoc.save()
- successful_imports.append(recipe.stem)
+ recipeDoc.save()
+ successful_imports.append(recipe.stem)
- except:
- print("Failed Import:", recipe.stem)
+ # print("Failed Import:", recipe.stem)
image_dir = TEMP_DIR.joinpath("images")
for image in image_dir.iterdir():
@@ -92,7 +100,6 @@ def export_db(tag=None, templates=None):
return str(zip_path.absolute()) + ".zip"
-
def export_images(dest_dir) -> Path:
for file in IMG_DIR.iterdir():
shutil.copy(file, dest_dir.joinpath(file.name))