diff --git a/.github/actions/spelling/allow.txt b/.github/actions/spelling/allow.txt new file mode 100644 index 00000000000..d8931505f92 --- /dev/null +++ b/.github/actions/spelling/allow.txt @@ -0,0 +1,266 @@ +1000GB +3000GB +4xx +5xx +8GB +Acknowledgement +Add-Ons +API +APIs +AppDomain +AppPerformance +ARRAffinity +ASPX +ASP.NET Core +Auth0 +AWS +Backoffice +Bitbucket +Blog +Blogs +Breadcrumbs +CDN +CLI +Cloudflare +CMS +CNAME +Config +CPU +CSV +CSS +DataReader +DataSource +DDoS +DevOps +DLL +DNS +Dockerfile +.NET +.NET Core +DTO +DTOs +EOL +ESLint +FAQ +Firebase +Firefox +Flickr +Frontend +Func +GDPR +GitHub +GitKraken +GitLab +GlobalConfig +GlobalSettings +Google Maps +Google +Googleusercontent +GUID +HMAC +HTML +HTTP +HTTPS +IAction +IApi +IApplication +IContent +IDashboard +IData +IDatabase +IDictionary +IEnumerable +ILogger +IMacro +IOptions +IPassword +IPublishedContent +IPublishedSnapshotAccessor +IPublic +IPv4 +IPv6 +IRuntime +IService +ISite +ITag +IUser +JavaScript +JetBrains +JPEG +JPG +JWT +Kubernetes +LINQ +Linux +LocalDB +Lucene +Markdown +MDN +Microsoft +MVC +MyGet +Nginx +Node.js +NuGet +OAuth +OpenAPI +OpenID +PDF +PowerShell +PPTX +Preloaded +Proxy +Python +RCLs +React +Regex +REST +RESTAPI +RESTful +RFC +RSpec +SaaS +SAP +SCSS +SDK +SEO +SMTP +SQL +SQLite +SSMS +SVG +SVN +TLS +TODO +TypeScript +Ubuntu +UI +umbraco +Umbraco +Umbraco CMS +Umbraco Cloud +Umbraco Forms +Umbraco Heartcore +Umbraco Deploy +Umbraco Workflow +Umbraco Commerce +Umbraco Engage +Umbraco UI Builder +UmbracoID +Umbraco ID +UmbracoProject +Umbraco Project +Uninstall +URI +URLs +UserControl +Username +UX +Vimeo +Visual Studio +Visual Studio Code +ASP.NET Web API +Web API +Webhooks +Webpack +Website +WebSocket +WordPress +XML +XPath +XSLT +YAML +YouTube +activecampaign +addproperty +apidocs +backoffice +backticks +blogpost +cicd +cms +commercetools +dbo +deviantart +docx +dotnet +editorconfig +emerchantpay +excalidraw +exe +fieldtypes +GETDATE +gitattributes +gitbook +github +googlesearchconsole +gui +healthcheck +heartcore +hubspot +Illustrationbuilding +inriver +IPublished +linkedin +lycheecache +lycheeignore +lycheeverse +microsoft +mozilla +multiplechoice +nginx +ngrok +pageview +pdf +placeholders +pptx +RAISERROR +roadmap +rtf +Screenshots +semrush +seochecker +Shazwazza +shopify +shortanswer +singlechoice +starterkit +styleguide +svg +sys +tasklist +templating +Textbox +Textstrings +tinymce +titleanddescription +toml +Typespecific +UMARKETINGSUITE +Umb +UMS +webmatrix +webp +website +welcomemessage +welcomemessagepersonalised +welcomemessagewithstyles +whatisadashboard +workflows +xlsx +xslt +yml +zapier +DATETIME +IPv +frontmatter +Pageviews +healthchecks + +# Additional wrong words that are difficult to fix cz it's in code, filenames +Adress +embeded +gettting +personalizaed +pligins +favouritethings \ No newline at end of file diff --git a/.github/actions/spelling/excludes.txt b/.github/actions/spelling/excludes.txt new file mode 100644 index 00000000000..5d836ac3bf3 --- /dev/null +++ b/.github/actions/spelling/excludes.txt @@ -0,0 +1,12 @@ +# excludes.txt +(?s)```.*?``` # code blocks +`[^`]+` # inline code +^EXEC\s+.*$ # SQL commands +^sp_rename\s+.*$ +!\[.*?\]\(.*?\) # images +
.*
+^images/ +^assets/ +\[.*?\]\(.*?\) # links +https?://\S+ +\w+\.(jpg|png|gif|pdf|docx|xlsx|zip)$ # filenames diff --git a/.github/actions/spelling/expect.txt b/.github/actions/spelling/expect.txt new file mode 100644 index 00000000000..e5228cb390a --- /dev/null +++ b/.github/actions/spelling/expect.txt @@ -0,0 +1,31 @@ +<<<<<<< HEAD +ADDD +AEDD +AOJ +BDEEF +bfb +BQk +Byxw +DAFA +DMCTD +Fct +FFB +Gmo +issuecomment +Kcv +KMqu +MCE +Tpqk +whatisadashboardv +Xfi +ZAj +astextplain +======= +# Words that exist in the repo but cannot be corrected +Adress +embeded +gettting +personalizaed +pligins +favouritethings +>>>>>>> 4728dd881212b854ca9cec9eeb6f8cb49e880d95 diff --git a/.github/actions/spelling/patterns.txt b/.github/actions/spelling/patterns.txt new file mode 100644 index 00000000000..7eccc48f42b --- /dev/null +++ b/.github/actions/spelling/patterns.txt @@ -0,0 +1,10 @@ +# Include only markdown, yml, json, and text files +# (skip binaries, images, etc.) +\.md$ +\.yml$ +\.yaml$ +\.json$ +\.txt$ + +# Explicitly ignore binaries, images, etc. +\.(jpg|jpeg|png|gif|svg|pdf|docx|pptx|xlsx|zip|tar|gz|dll|exe|bin|rtf|ps1|sh|bat|7z)$ diff --git a/.github/workflows/check-broken-pr-links.yml b/.github/workflows/check-broken-pr-links.yml index 524e26f15cf..e3a7eb58645 100644 --- a/.github/workflows/check-broken-pr-links.yml +++ b/.github/workflows/check-broken-pr-links.yml @@ -98,6 +98,16 @@ jobs: print "\n⏳ Timeout → " msg "\n" >> "lychee/comment.md" next } + + # catch-all for any other errors + /^\- \[ \] \[[0-9]+\]/ { + msg = $0 + sub(/^- \[ \] /, "", msg) + gsub(/\|/, "|", msg) + print "\n⚠ Unknown error → " msg "\n" >> "lychee/comment.md" + next + } + ' lychee/out_raw.md # Add header only if we found content diff --git a/.github/workflows/spelling.yml b/.github/workflows/spelling.yml new file mode 100644 index 00000000000..c4db27ac864 --- /dev/null +++ b/.github/workflows/spelling.yml @@ -0,0 +1,166 @@ +name: Check Spelling + +# Comment management is handled through a secondary job, for details see: +# https://github.com/check-spelling/check-spelling/wiki/Feature%3A-Restricted-Permissions +# +# `jobs.comment-push` runs when a push is made to a repository and the `jobs.spelling` job needs to make a comment +# (in odd cases, it might actually run just to collapse a comment, but that's fairly rare) +# it needs `contents: write` in order to add a comment. +# +# `jobs.comment-pr` runs when a pull_request is made to a repository and the `jobs.spelling` job needs to make a comment +# or collapse a comment (in the case where it had previously made a comment and now no longer needs to show a comment) +# it needs `pull-requests: write` in order to manipulate those comments. + +# Updating pull request branches is managed via comment handling. +# For details, see: https://github.com/check-spelling/check-spelling/wiki/Feature:-Update-expect-list +# +# These elements work together to make it happen: +# +# `on.issue_comment` +# This event listens to comments by users asking to update the metadata. +# +# `jobs.update` +# This job runs in response to an issue_comment and will push a new commit +# to update the spelling metadata. +# +# `with.experimental_apply_changes_via_bot` +# Tells the action to support and generate messages that enable it +# to make a commit to update the spelling metadata. +# +# `with.ssh_key` +# In order to trigger workflows when the commit is made, you can provide a +# secret (typically, a write-enabled github deploy key). +# +# For background, see: https://github.com/check-spelling/check-spelling/wiki/Feature:-Update-with-deploy-key + +# Sarif reporting +# +# Access to Sarif reports is generally restricted (by GitHub) to members of the repository. +# +# Requires enabling `security-events: write` +# and configuring the action with `use_sarif: 1` +# +# For information on the feature, see: https://github.com/check-spelling/check-spelling/wiki/Feature:-Sarif-output + +# Minimal workflow structure: +# +# on: +# push: +# ... +# pull_request_target: +# ... +# jobs: +# # you only want the spelling job, all others should be omitted +# spelling: +# # remove `security-events: write` and `use_sarif: 1` +# # remove `experimental_apply_changes_via_bot: 1` +# ... otherwise adjust the `with:` as you wish + +on: + push: + branches: + - "**" + tags-ignore: + - "**" + pull_request_target: + branches: + - "**" + types: + - 'opened' + - 'reopened' + - 'synchronize' + issue_comment: + types: + - 'created' + +jobs: + spelling: + name: Check Spelling + permissions: + contents: read + pull-requests: read + actions: read + security-events: write + outputs: + followup: ${{ steps.spelling.outputs.followup }} + runs-on: ubuntu-latest + if: ${{ contains(github.event_name, 'pull_request') || github.event_name == 'push' }} + concurrency: + group: spelling-${{ github.event.pull_request.number || github.ref }} + # note: If you use only_check_changed_files, you do not want cancel-in-progress + cancel-in-progress: true + steps: + - name: check-spelling + id: spelling + uses: check-spelling/check-spelling@main + with: + suppress_push_for_open_pull_request: ${{ github.actor != 'dependabot[bot]' && 1 }} + checkout: true + check_file_names: 1 + spell_check_this: check-spelling/spell-check-this@prerelease + post_comment: 0 + use_magic_file: 0 + report-timing: 1 + warnings: bad-regex,binary-file,deprecated-feature,large-file,limited-references,no-newline-at-eof,noisy-file,non-alpha-in-dictionary,token-is-substring,unexpected-line-ending,whitespace-in-dictionary,minified-file,unsupported-configuration,no-files-to-check + experimental_apply_changes_via_bot: 1 + use_sarif: ${{ (!github.event.pull_request || (github.event.pull_request.head.repo.full_name == github.repository)) && 1 }} + extra_dictionary_limit: 20 + extra_dictionaries: + cspell:software-terms/dict/softwareTerms.txt + + comment-push: + name: Report (Push) + # If your workflow isn't running on push, you can remove this job + runs-on: ubuntu-latest + needs: spelling + permissions: + contents: write + if: (success() || failure()) && needs.spelling.outputs.followup && github.event_name == 'push' + steps: + - name: comment + uses: check-spelling/check-spelling@main + with: + checkout: true + spell_check_this: check-spelling/spell-check-this@prerelease + task: ${{ needs.spelling.outputs.followup }} + + comment-pr: + name: Report (PR) + # If you workflow isn't running on pull_request*, you can remove this job + runs-on: ubuntu-latest + needs: spelling + permissions: + contents: read + pull-requests: write + if: (success() || failure()) && needs.spelling.outputs.followup && contains(github.event_name, 'pull_request') + steps: + - name: comment + uses: check-spelling/check-spelling@main + with: + checkout: true + spell_check_this: check-spelling/spell-check-this@prerelease + task: ${{ needs.spelling.outputs.followup }} + experimental_apply_changes_via_bot: 1 + + update: + name: Update PR + permissions: + contents: write + pull-requests: write + actions: read + runs-on: ubuntu-latest + if: ${{ + github.event_name == 'issue_comment' && + github.event.issue.pull_request && + contains(github.event.comment.body, '@check-spelling-bot apply') + }} + concurrency: + group: spelling-update-${{ github.event.issue.number }} + cancel-in-progress: false + steps: + - name: apply spelling updates + uses: check-spelling/check-spelling@main + with: + experimental_apply_changes_via_bot: 1 + checkout: true + ssh_key: "${{ secrets.CHECK_SPELLING }}" \ No newline at end of file diff --git a/16/umbraco-cms/fundamentals/code/source-control.md b/16/umbraco-cms/fundamentals/code/source-control.md index 7b78737f58a..2da8a96152a 100644 --- a/16/umbraco-cms/fundamentals/code/source-control.md +++ b/16/umbraco-cms/fundamentals/code/source-control.md @@ -8,7 +8,7 @@ description: >- ## Umbraco Cloud -When you are running your site on Umbraco Cloud, source control is a part of the experience. Have a look at the ['Technical overview of an Umbraco Cloud Environment'](https://docs.umbraco.com/umbraco-cloud/getting-started/environments) and the information on ['Working with your Umbraco Cloud project'](https://docs.umbraco.com/umbraco-cloud/setup/set-up#working-with-your-umbraco-cloud-project) for a steer on Source/Version Control good practices. +When you are running your site on Umbraco Cloud, source control is a part of the experience. Have a look at the ['Technical overview of an Umbraco Cloud Environment'](https://docs.umbraco.com/umbraco-cloud/getting-started/environments). Additionally, look at ['Working with a Local Clone'](https://docs.umbraco.com/umbraco-cloud/build-and-customize-your-solution/handle-deployments-and-environments/working-locally) for a steer on Source/Version Control good practices. ## Outside of Umbraco Cloud diff --git a/16/umbraco-cms/fundamentals/setup/upgrading/version-specific/README.md b/16/umbraco-cms/fundamentals/setup/upgrading/version-specific/README.md index 809f0b16a0b..8e68c11ae80 100644 --- a/16/umbraco-cms/fundamentals/setup/upgrading/version-specific/README.md +++ b/16/umbraco-cms/fundamentals/setup/upgrading/version-specific/README.md @@ -1101,7 +1101,7 @@ Remove `u.UseInstallerEndpoints();` from the `program.cs` file to avoid issues w **Update code using Angular JS** -Angular JS has been removed in Umbraco 14. If you have extended your Umbraco project using Angular JS, it must be updated. for more information read the [Customize Backoffice](../../../../customizing/extend-and-customize-editing-experience.md) documentation. +Angular JS has been removed in Umbraco 14. If you have extended your Umbraco project using Angular JS, it must be updated. **Deprecated property editors** @@ -1113,7 +1113,6 @@ The **legacy Media Picker** has been removed, use the default Media Picker. Macros and partial views macros have been removed in Umbraco 14. We recommend using partial views or blocks in the Rich Text Editor (RTE). -For more information on what has changed in Umbraco 14 read the [Breaking changes in Umbraco 14](./#umbraco-14). **Block Editor data format has changes** @@ -1343,6 +1342,8 @@ Because that method is useful, especially when building traditional, non-multili **CHANGE**: None. +Let's test the spell check here-- This is a wrong wooord. + **DomainHelper** `DomainHelper` has been replaced with a static `DomainUtilities` class. @@ -1440,7 +1441,7 @@ This is possible using Models Builder and through the inclusion of [core propert To not break everybody's sites (the results of queries are different when PVCs are enabled), we disabled these PVCs by default. -Umbraco 7.6.0 also came with new pickers that store their data as a [UDI (Umbraco Identifier)](https://our.umbraco.com/Documentation/Reference/Querying/Udi). We wanted to simplify the use of these new pickers and by default we wanted PVC's to always be enabled for those pickers. +We wanted to simplify the use of these new pickers and by default we wanted PVC's to always be enabled for those pickers. We noticed that some new pickers also got their PVC's disabled when the configuration setting was set to false (`false`). @@ -1464,8 +1465,6 @@ Follow the [**upgrade guide for Umbraco 7**](minor-upgrades-for-umbraco-7.md) to 7.4.0 to 7.6.0 -Find a list of all the breaking changes below and [a list of the items is also available on the tracker](http://issues.umbraco.org/issues/U4?q=Due+in+version%3A+7.6.0+Backwards+compatible%3F%3A+No+) - The three most important things to note are: 1. In web.config do not change `useLegacyEncoding` to `false` if it is currently set to `true` - changing the password encoding will cause you not being able to log in any more. @@ -1536,8 +1535,6 @@ The property editors for pickers for content, media, members, and related links New sites will have the obsolete pickers filtered out from the list of available property editors, but they can be enabled by a configuration flag. -**Rich Text Editor (RTE) Images attributes (**[**U4-6228**](https://issues.umbraco.org/issue/U4-6228)**,** [**U4-6595**](http://issues.umbraco.org/issue/U4-6595)**)** - For a long time, we had a `rel` attribute on an `` tag when inserted into the RTE. This is invalid HTML markup. We worked around this by stripping this attribute using a Property Editor Value converter. Some developers relied on this attribute so we didn't change it to a "data-id" attribute which would have been valid. In 7.6 we are not storing integer IDs in these attributes. Instead of storing UDI values so with this change we no longer use `rel` or `data-id` and instead there will be a "data-udi" attribute. This change should affect only a small amount of people that were previously relying on the values from the "rel" attribute. **Others** @@ -1591,7 +1588,6 @@ and Umbraco Forms 6.0.0 has been released to be compatible with Umbraco 7.6. It is a new major version release of Forms primarily due to the strict dependency on 7.6+. If you are using Forms, you will need to update it to version 6.0.0 -There are [**important Forms upgrade documentation that you will need to read.**](https://docs.umbraco.com/umbraco-forms/installation/version-specific.md#version-4-to-version-6). **Courier** @@ -1610,7 +1606,6 @@ For manual upgrades: * Copy the new folder `~/App_Plugins/ModelsBuilder` into the site * Do not forget to merge `~/Config/trees.config` and `~/Config/Dashboard.config` - they contain new and updated entries that are required to be there * If you forget `trees.config` you will either not be able to browse the Developer section or you will be logged out immediately when trying to go to the developer section -* You may experience an error saying `Invalid object name 'umbracoUser'` - this can be fixed by [clearing your cookies on localhost](http://issues.umbraco.org/issue/U4-8031) Follow the [**upgrade guide for Umbraco 7**](minor-upgrades-for-umbraco-7.md) to complete the upgrade. diff --git a/16/umbraco-cms/fundamentals/setup/upgrading/version-specific/test.md b/16/umbraco-cms/fundamentals/setup/upgrading/version-specific/test.md new file mode 100644 index 00000000000..c7f6ed78083 --- /dev/null +++ b/16/umbraco-cms/fundamentals/setup/upgrading/version-specific/test.md @@ -0,0 +1,6 @@ +# Test Spellcheck + +This is a spell test. +Let's test the spell check here-- This is a wrong woooord. + +Normal text should be flagged. diff --git a/16/umbraco-cms/fundamentals/setup/upgrading/version-specific/upgrade-from-8-to-latest.md b/16/umbraco-cms/fundamentals/setup/upgrading/version-specific/upgrade-from-8-to-latest.md index 8da11efdc80..49da82b82c6 100644 --- a/16/umbraco-cms/fundamentals/setup/upgrading/version-specific/upgrade-from-8-to-latest.md +++ b/16/umbraco-cms/fundamentals/setup/upgrading/version-specific/upgrade-from-8-to-latest.md @@ -43,7 +43,7 @@ A video tutorial guiding you through the steps of upgrading from version 8 to th If you use Umbraco Forms, make sure to have [`StoreUmbracoFormsInDbset`](https://docs.umbraco.com/umbraco-forms/developer/forms-in-the-database#enable-storing-forms-definitions-in-the-database)to `True` before **step 1**. {% endhint %} -1. Create a backup of the database from your Umbraco 8 project (after you have upgraded to the latest version of v8). For this, you can use the [database backup guide](https://docs.umbraco.com/umbraco-cloud/databases/backups#backup-with-sql-server-management-studio). +1. Create a backup of the database from your Umbraco 8 project (after you have upgraded to the latest version of v8). For this, you can use the [Database backups Guide](https://docs.umbraco.com/umbraco-cloud/build-and-customize-your-solution/set-up-your-project/databases/backups#restoring-a-cloud-backup-to-a-sql-server-database). 2. Import the database backup into SQL Server Management Studio. 3. Update the connection string in the new projects `appsettings.json` file so that it connects to the Umbraco 8 database: diff --git a/16/umbraco-cms/reference/configuration/test-spellcheck.md b/16/umbraco-cms/reference/configuration/test-spellcheck.md new file mode 100644 index 00000000000..7134f3c78b9 --- /dev/null +++ b/16/umbraco-cms/reference/configuration/test-spellcheck.md @@ -0,0 +1,6 @@ +# Spelling Test + +This is a looong test. +Here is a wrong woooord that should be flagged. + +Antoher correct line.