diff --git a/docs/docs/changelog/v1.0.0.md b/docs/docs/changelog/v1.0.0.md index 28c92fa138cf..ed6f9e1e5fdf 100644 --- a/docs/docs/changelog/v1.0.0.md +++ b/docs/docs/changelog/v1.0.0.md @@ -1,30 +1,29 @@ -# v1.0.0 A Whole New App! - -# DRAFT +# v1.0.0 A Whole New App! (DRAFT) !!! error "Breaking Changes" - As you may have guessed, this release comes with some breaking changes. If you are/were consuming the API you will need to validate all endpoints as nearly all of them have changed. + As you may have guessed, this release comes with some breaking changes. If you are/were consuming the API you will need to validate all endpoints as nearly all of them have changed. To import your data into Mealie v1 from the most recent previous release, you'll need to export and import your data using the built in method. **Note that only your recipes will be usable in the migration**. - ## โจ What's New (What isn't?!?!) ### ๐ฅณ General + - Mealie will by default only be accessible to users. Future plans are to create spaces for non-users to access a specific group. - Mealie has gone through a big redesign and has tried to standardize it's look a feel a bit more across the board. - User/Group settings are now completely separated from the Administration page. - All settings and configurations pages now have some sort of self-documenting help text. Additional text or descriptions are welcome from PRs +- New experimental banner for the site to give users a sense of what features are still "in development" and provide a link to a github issue that provides additional context. +#### โ๏ธ Site Settings Page -**Site Settings Page** -- Site Settings has been completely revamped. All site-wide settings at defined on the server as ENV variables. The site settings page now only shows you the non-secret values for reference. It also has some helpers to let you know if something isn't configured correctly. +- Site Settings has been completely revamped. All site-wide settings at defined on the server as ENV variables. The site settings page now only shows you the non-secret values for reference. It also has some helpers to let you know if something isn't configured correctly. - Server Side Bare URL will let you know if the BASE_URL env variable has been set - - Secure Site let's you know if you're serving via HTTPS or accessing by localhost. accessing without a secure site will render some of the features unusable. + - Secure Site let's you know if you're serving via HTTPS or accessing by localhost. accessing without a secure site will render some of the features unusable. - Email Configuration Status will let you know if all the email settings have been provided and offer a way to send test emails. - ### ๐จโ๐ฉโ๐งโ๐ฆ Users and Groups + - All members of a group can generate invitation tokens for other users to join their group - Users now a have "Advanced" setting to enable/disable features like Webhooks and API tokens. This will also apply to future features that are deemed as advanced. - "Pages" have been dropped in favor of Cookbooks which are now group specific so each group can have it's own set of cookbooks @@ -33,7 +32,34 @@ - Invitation to group by email - Manage group member permissions +### ๐ฆ Data Migrations + +- Migrations have been moved from the Admin Page to a Group Migration page. Migrations from applications (or previous versions of Mealie) can now be imported into Mealie via the Group Migration pages where all recipes will be imported into the group. +- **Supported Migrations** + - Mealie Pre v1.0.0 + - Nextcloud Recipes + - Chowdown + +### ๐ Shopping Lists + +- Shopping Lists has been completely revamped to be more flexible and user friendly. + - Add recipe ingredients to a shopping list + - Manually add item/ingredient to shopping list + - Copy as markdown or plain text + - Sort by food/item Labels + - Checked items are now hidden + - Uncheck all Items + - Delete all checked items + +### ๐ข Apprise Integration + +- Server based Apprise notifications have been depreciated. An effort has been made to improve logging overall in the application and make it easier to monitor/debug through the logs. +- The Apprise integration has been updated to the latest version and is not used asynchronously. +- Notifiers now support a wider variety of events. +- Notifiers can now be managed by-group instead of by the server. + ### ๐ Meal Plans + - Meal plans have been completely redesigned to use a calendar approach so you'll be able to see what meals you have planned in a more traditional view - Drag and Drop meals between days - Add Recipes or Notes to a specific day @@ -41,15 +67,19 @@ ### ๐ฅ Recipes -**Search** +#### ๐ Search + - Search now includes the ability to fuzzy search ingredients - Search now includes an additional filter for "Foods" which will filter (Include/Exclude) matches based on your selection. -**Recipe General** +#### ๐ด Recipe General + - Recipes are now only viewable by group members +- Recipes can be shared with share links +- Shared recipes can now render previews for the recipe on sites like Twitter, Facebook, and Discord. - Recipes now have a `tools` attributes that contains a list of required tools/equipment for the recipe. Tools can be set with a state to determine if you have that tool or not. If it's marked as on hand it will show checked by default. - Recipe Extras now only show when advanced mode it toggled on -- You can now import multiple URLs at a time pre-tagged using the bulk importer. This task runs in the background so no need to wait for it to finish. +- You can now import multiple URLs at a time pre-tagged using the bulk importer. This task runs in the background so no need to wait for it to finish. - Foods/Units for Ingredients are now supported (toggle inside your recipe settings) - Common Food and Units come pre-packaged with Mealie - Landscape and Portrait views is now available @@ -60,29 +90,33 @@ - Export Recipes - Recipes now have a `/cook` page for a simple view of the recipe where you can click through each step of a recipe and it's associated ingredients. - The Bulk Importer has received many additional upgrades. - - Trim Whitespace: automatically removes leading and trailing whitespace - - Trim Prefix: Removes the first character of each line. Useful for when you paste in a list of ingredients or instructions that have 1. or 2. in front of them. - - Split By Numbered Line: Attempts to split a paragraph into multiple lines based on the patterns matching '1.', '1:' or '1)'. + - Trim Whitespace: automatically removes leading and trailing whitespace + - Trim Prefix: Removes the first character of each line. Useful for when you paste in a list of ingredients or instructions that have 1. or 2. in front of them. + - Split By Numbered Line: Attempts to split a paragraph into multiple lines based on the patterns matching '1.', '1:' or '1)'. + +#### ๐ Recipe Ingredients -**Recipe Ingredients** - Recipe ingredients can now be scaled when the food/unit is defined - Recipe ingredients can no be copied as markdown lists - - example `- [ ] 1 cup of flour` + - example `- [ ] 1 cup of flour` - You can no use Natural Language Processing (NLP) to process ingredients and attempt to parse them into amounts, units, and foods. There additional is a "Brute Force" processor that can be used to use a pattern matching parser to try and determine ingredients. **Note** if you are processing a Non-English language you will have terrible results with the NLP and will likely need to use the Bruce Force processor. -**Recipe Instructions** +#### ๐ Recipe Instructions + - Can now be merged with the above step automatically through the action menu - Recipe Ingredients can be linked directly to recipe instructions for improved display - - There is an option in the linking dialog to automatically link ingredients. This works by using a key-word matching algorithm to find the ingredients. It's not perfect so you'll need to verify the links after use, additionally you will find that it doesn't work for non-english languages. + - There is an option in the linking dialog to automatically link ingredients. This works by using a key-word matching algorithm to find the ingredients. It's not perfect so you'll need to verify the links after use, additionally you will find that it doesn't work for non-english languages. - Recipe Instructions now have a preview tab to show the rendered markdown before saving. ### โ ๏ธ Other things to know... + - Themes have been depreciated for specific users. You can still set specific themes for your site through ENV variables. This approach should yield much better results for performance and some weirdness users have experienced. - If you've experienced slowness in the past, you may notice a significant improvement in the "All Recipes" and "Search" pages, or wherever large payloads of recipes are being displayed. This is due to not validating responses from the database, as such if you are consuming these API's you may get extra values that are unexpected. - ### ๐จโ๐ป Backend/Development Goodies + - Codebase is significantly more organized both Frontend and Backend - We've moved to Nuxt for SSR and Typescript for better type safety and less bugs ๐ - Backend now using a Class based architecture to maximize code reuse - Tons of performance improvements across the board +- Significant work was done by [@PFischbeck](https://github.com/PFischbeck) to improve type safety on the frontend server and fix many type related errors/bugs! diff --git a/docs/docs/contributors/developers-guide/starting-dev-server.md b/docs/docs/contributors/developers-guide/starting-dev-server.md index 21510750d1e9..0d419a73f582 100644 --- a/docs/docs/contributors/developers-guide/starting-dev-server.md +++ b/docs/docs/contributors/developers-guide/starting-dev-server.md @@ -1,8 +1,18 @@ # Development: Getting Started +!!! warning + Be sure to use the [Nightly version](https://nightly.mealie.io/) of the docs to ensure you're up to date with + the latest changes. + After reading through the [Code Contributions Guide](../developers-guide/code-contributions.md) and forking the repo you can start working. This project is developed with :whale: docker and as such you will be greatly aided by using docker for development. It's not necessary but it is helpful. ## With Docker + +!!! error "Broken" + Developing with Docker is currently broken. Please use the "Without Docker" instructions until this is resolved, or better yet help us fix it! + + - [PR #756 - add frontend developer dockerfile](https://github.com/hay-kot/mealie/pull/756) + Prerequisites - Docker @@ -11,32 +21,89 @@ Prerequisites You can easily start the development stack by running `make docker-dev` in the root of the project directory. This will run and build the docker-compose.dev.yml file. ## Without Docker -Prerequisites +### Prerequisites -- Python 3.9+ -- Poetry -- Nodejs -- npm +- [Python 3.10](https://www.python.org/downloads/) +- [Poetry](https://python-poetry.org/docs/#installation) +- [Node v16.x](https://nodejs.org/en/) +- [yarn](https://classic.yarnpkg.com/lang/en/docs/install/#mac-stable) -Once the prerequisites are installed you can cd into the project base directory and run `make setup` to install the python and node dependencies. Once that is complete you can run `make backend` and `make frontend` to start the backend and frontend servers. +### Installing Dependencies + +Once the prerequisites are installed you can cd into the project base directory and run `make setup` to install the python and node dependencies. + +=== "Linux / MacOs" + + ```bash + # Naviate To The Root Directory + cd /path/to/project + + # Utilize the Makefile to Install Dependencies + make setup + ``` + +=== "Windows" + + ``` powershell + # Install Python Dependencies + Set-Directory -Path "C:\path\to\project" + poetry install + + # Install Node Dependencies + Set-Directory frontend + yarn install + ``` + +### Setting ENV Variables + +Before you start the server you MUST copy the `template.env` and `frontend/template.env` files to their respective locations with the name `.env` and `frontend/.env` respectively. The application will-not run without these files. + +### Starting The Server + +Once that is complete you're ready to start the servers. You'll need two shells open, One for the server and one for the frontend. + +=== "Linux / MacOs" + + ```bash + # Terminal #1 + make backend + + # Terminal #2 + make frontend + ``` + +=== "Windows" + + ``` powershell + # Terminal # 1 + poetry run python mealie/db/init_db.py # Initialize the database + poetry run python mealie/app.py # start application + + # Terminal # 2 + Set-Directory frontend + yarn run dev + ``` ## Make File Reference -Run `make help` for reference +Run `make help` for reference. If you're on a system that doesn't support makefiles in most cases you can use the commands directly in your terminal by copy/pasting them from the Makefile. ``` -clean-purge โ ๏ธ Removes All Developer Data for a fresh server start +purge โ ๏ธ Removes All Developer Data for a fresh server start clean ๐งน Remove all build, test, coverage and Python artifacts clean-pyc ๐งน Remove Python file artifacts clean-test ๐งน Remove test and coverage artifacts test-all ๐งช Check Lint Format and Testing test ๐งช Run tests quickly with the default Python -lint ๐งบ Check style with flake8 -coverage โ๏ธ Check code coverage quickly with the default Python -setup ๐ Setup Development Instance +lint ๐งบ Format, Check and Flake8 +coverage โ๏ธ Check code coverage quickly with the default Python +setup ๐ Setup Development Instance +setup-model ๐ค Get the latest NLP CRF++ Model backend ๐ฌ Start Mealie Backend Development Server frontend ๐ฌ Start Mealie Frontend Development Server -frontend-build ๐ Build Frontend in frontend/dist +frontend-build ๐ Build Frontend in frontend/dist +frontend-generate ๐ Generate Code for Frontend +frontend-lint ๐งบ Run yarn lint docs ๐ Start Mkdocs Development Server docker-dev ๐ณ Build and Start Docker Development Stack docker-prod ๐ณ Build and Start Docker Production Stack diff --git a/docs/docs/overrides/api.html b/docs/docs/overrides/api.html index 7de978ea251a..d0ed53a74955 100644 --- a/docs/docs/overrides/api.html +++ b/docs/docs/overrides/api.html @@ -14,7 +14,7 @@
diff --git a/frontend/pages/user/group/notifiers.vue b/frontend/pages/user/group/notifiers.vue index 8ba4fd900ab3..61709331646d 100644 --- a/frontend/pages/user/group/notifiers.vue +++ b/frontend/pages/user/group/notifiers.vue @@ -11,7 +11,7 @@ {{ $t("general.confirm-delete-generic") }} -