Skip to content
6 changes: 0 additions & 6 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,6 @@ versioned_docs/version-v*/api
docs/native
versioned_docs/version-v*/native
docs/cli/commands
# Each definition in these files is one line of prose inside a JSX <section>.
# Prettier's mdx parser reflows those children and moves link text onto its own
# line, which MDX then wraps in a paragraph, rendering invalid HTML such as
# <a><p>Android SDK</p></a>. Formatting these files reintroduces that markup.
docs/reference/glossary.md
versioned_docs/version-v*/reference/glossary.md

# Archived versions
versioned_docs/version-v5
Expand Down
2 changes: 1 addition & 1 deletion docs/angular/pwa.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ sidebar_label: Progressive Web Apps

## Making your Angular app a PWA

The two main requirements of a PWA are a <a href="https://developers.google.com/web/fundamentals/primers/service-workers/" target="_blank">Service Worker</a> and a <a href="https://developers.google.com/web/fundamentals/web-app-manifest/" target="_blank">Web Manifest</a>. While it's possible to add both of these to an app manually, the Angular team has an `@angular/pwa` package that can be used to automate this.
The two main requirements of a PWA are a [Service Worker](https://developers.google.com/web/fundamentals/primers/service-workers/) and a [Web Manifest](https://developers.google.com/web/fundamentals/web-app-manifest/). While it's possible to add both of these to an app manually, the Angular team has an `@angular/pwa` package that can be used to automate this.

The `@angular/pwa` package will automatically add a service worker and an app manifest to the app.
To add this package to the app, run:
Expand Down
22 changes: 11 additions & 11 deletions docs/angular/slides.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import TabItem from '@theme/TabItem';
`ion-slides` was deprecated in v6.0.0 and removed in v7.0.0. We recommend using the Swiper.js library directly. The migration process is detailed below.
:::

We recommend <a href="http://swiperjs.com/" target="_blank" rel="noopener noreferrer">Swiper.js</a> if you need a modern touch slider component. Swiper 9 introduced <a href="https://swiperjs.com/element" target="_blank" rel="noopener noreferrer">Swiper Element</a> as a replacement for its Angular component, so this guide will go over how to get Swiper Element set up in your Ionic Framework application. It will also go over any migration information you may need to move from `ion-slides` to Swiper Element.
We recommend [Swiper.js](http://swiperjs.com/) if you need a modern touch slider component. Swiper 9 introduced [Swiper Element](https://swiperjs.com/element) as a replacement for its Angular component, so this guide will go over how to get Swiper Element set up in your Ionic Framework application. It will also go over any migration information you may need to move from `ion-slides` to Swiper Element.

## Getting Started

Expand Down Expand Up @@ -71,7 +71,7 @@ From there, we just have to replace `ion-slides` elements with `swiper-container

By default, make sure you import the `register` function from `swiper/element/bundle`. This uses the bundled version of Swiper, which automatically includes all modules and stylesheets needed to run Swiper's various features.

If you would like to use the Core version instead, which does not include additional modules automatically, refer to <a href="https://swiperjs.com/element#core-version-and-modules" target="_blank" rel="noopener noreferrer">Swiper's core version and modules documentation</a>. The rest of this migration guide will assume you are using the bundled version.
If you would like to use the Core version instead, which does not include additional modules automatically, refer to [Swiper's core version and modules documentation](https://swiperjs.com/element#core-version-and-modules). The rest of this migration guide will assume you are using the bundled version.

## Swiping with Style

Expand All @@ -93,7 +93,7 @@ If you were using the CSS custom properties found on `ion-slides`, below is a li
| `--scroll-bar-background` | `--swiper-scrollbar-bg-color` |
| `--scroll-bar-background-active` | `--swiper-scrollbar-drag-bg-color` |

For additional custom CSS, because Swiper Element uses Shadow DOM encapsulation, styles will need to be injected into the Shadow DOM scope. Refer to <a href="https://swiperjs.com/element#injecting-styles" target="_blank" rel="noopener noreferrer">Swiper's guide on injecting styles</a> for instructions.
For additional custom CSS, because Swiper Element uses Shadow DOM encapsulation, styles will need to be injected into the Shadow DOM scope. Refer to [Swiper's guide on injecting styles](https://swiperjs.com/element#injecting-styles) for instructions.

### Additional `ion-slides` Styles

Expand Down Expand Up @@ -227,7 +227,7 @@ Below is a full list of property changes when going from `ion-slides` to Swiper
| pager | Use the `pagination` property instead. |

:::note
All properties available in Swiper Element can be found in the <a href="https://swiperjs.com/swiper-api#parameters" target="_blank" rel="noopener noreferrer">Swiper API parameters documentation</a>.
All properties available in Swiper Element can be found in the [Swiper API parameters documentation](https://swiperjs.com/swiper-api#parameters).
:::

## Events
Expand Down Expand Up @@ -276,7 +276,7 @@ Below is a full list of event name changes when going from `ion-slides` to Swipe
| `ionSlidesDidLoad` | `swiperinit` |

:::note
All events available in Swiper Element can be found in the <a href="https://swiperjs.com/swiper-api#events" target="_blank" rel="noopener noreferrer">Swiper API events documentation</a> and should be lowercased and prefixed with the word `swiper`.
All events available in Swiper Element can be found in the [Swiper API events documentation](https://swiperjs.com/swiper-api#events) and should be lowercased and prefixed with the word `swiper`.
:::

## Methods
Expand Down Expand Up @@ -328,7 +328,7 @@ Below is a full list of method changes when going from `ion-slides` to Swiper El
| `stopAutoplay()` | Use the `autoplay` property instead. |

:::note
All methods and properties available on the Swiper instance can be found in the <a href="https://swiperjs.com/swiper-api#methods-and-properties" target="_blank" rel="noopener noreferrer">Swiper API methods and properties documentation</a>.
All methods and properties available on the Swiper instance can be found in the [Swiper API methods and properties documentation](https://swiperjs.com/swiper-api#methods-and-properties).
:::

## Effects
Expand All @@ -340,12 +340,12 @@ Effects such as Cube or Fade can be used in Swiper Element with no additional im
```

:::note
For more information on effects in Swiper, please refer to the <a href="https://swiperjs.com/swiper-api#fade-effect" target="_blank" rel="noopener noreferrer">Swiper API fade effect documentation</a>.
For more information on effects in Swiper, please refer to the [Swiper API fade effect documentation](https://swiperjs.com/swiper-api#fade-effect).
:::

## Wrap Up

Now that you have Swiper installed, there is a whole set of new Swiper features for you to enjoy. We recommend starting with the <a href="https://swiperjs.com/element" target="_blank" rel="noopener noreferrer">Swiper Element documentation</a> and then referencing <a href="https://swiperjs.com/swiper-api" target="_blank" rel="noopener noreferrer">the Swiper API docs</a>.
Now that you have Swiper installed, there is a whole set of new Swiper features for you to enjoy. We recommend starting with the [Swiper Element documentation](https://swiperjs.com/element) and then referencing [the Swiper API docs](https://swiperjs.com/swiper-api).

## FAQ

Expand All @@ -359,8 +359,8 @@ If you are running into issues with the migration, please create a post on the [

### Where do I file bug reports?

Before opening an issue, please consider creating a post on the <a href="https://github.com/nolimits4web/swiper/discussions" target="_blank" rel="noopener noreferrer">Swiper Discussion Board</a> or the <a href="https://forum.ionicframework.com" target="_blank">Ionic Forum</a> to check if your issue can be resolved by the community.
Before opening an issue, please consider creating a post on the [Swiper Discussion Board](https://github.com/nolimits4web/swiper/discussions) or the [Ionic Forum](https://forum.ionicframework.com) to check if your issue can be resolved by the community.

If you are running into problems with the Swiper library, new bugs should be filed on the <a href="https://github.com/nolimits4web/swiper/issues" target="_blank" rel="noopener noreferrer">Swiper issue tracker</a>.
If you are running into problems with the Swiper library, new bugs should be filed on the [Swiper issue tracker](https://github.com/nolimits4web/swiper/issues).

If you are running into problems with the `IonicSlides` module, new bugs should be filed on the <a href="https://github.com/ionic-team/ionic-framework/issues" target="_blank" rel="noopener noreferrer">Ionic Framework issue tracker</a>.
If you are running into problems with the `IonicSlides` module, new bugs should be filed on the [Ionic Framework issue tracker](https://github.com/ionic-team/ionic-framework/issues).
6 changes: 3 additions & 3 deletions docs/angular/testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ title: Testing
/>
</head>

When an `@ionic/angular` application is generated using the Ionic CLI, it is automatically set up for unit testing and end-to-end testing of the application. This is the same setup that is used by the Angular CLI. Refer to the <a href="https://angular.io/guide/testing" target="_blank">Angular Testing Guide</a> for detailed information on testing Angular applications.
When an `@ionic/angular` application is generated using the Ionic CLI, it is automatically set up for unit testing and end-to-end testing of the application. This is the same setup that is used by the Angular CLI. Refer to the [Angular Testing Guide](https://angular.io/guide/testing) for detailed information on testing Angular applications.

## Testing Principles

Expand Down Expand Up @@ -76,7 +76,7 @@ The outer `describe` call states that the `Calculation` service is being tested,

### Pages and Components

Pages are just Angular components. Thus, pages and components are both tested using <a href="https://angular.io/guide/testing#component-test-basics">Angular's Component Testing</a> guidelines.
Pages are just Angular components. Thus, pages and components are both tested using [Angular's Component Testing](https://angular.io/guide/testing#component-test-basics) guidelines.

Since pages and components contain both TypeScript code and HTML template markup it is possible to perform both component class testing and component DOM testing. When a page is created, the template test that is generated looks like this:

Expand Down Expand Up @@ -208,7 +208,7 @@ describe('PayrolService', () => {

#### Testing HTTP Data Services

Most services that perform HTTP operations will use Angular's HttpClient service in order to perform those operations. For such tests, it is suggested to use Angular's `HttpClientTestingModule`. For detailed documentation of this module, please refer to Angular's <a href="https://angular.io/guide/http#testing-http-requests" target="_blank">Angular's Testing HTTP requests</a> guide.
Most services that perform HTTP operations will use Angular's HttpClient service in order to perform those operations. For such tests, it is suggested to use Angular's `HttpClientTestingModule`. For detailed documentation of this module, please refer to Angular's [Angular's Testing HTTP requests](https://angular.io/guide/http#testing-http-requests) guide.

This basic setup for such a test looks like this:

Expand Down
4 changes: 2 additions & 2 deletions docs/api/icon.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ title: 'ion-icon'
/>
</head>

Icon is a universal container for displaying icons. While <a href="https://ionic.io/ionicons">Ionicons</a> is included by default with all Ionic Framework applications, the component can display Ionicons, custom SVGs, font-based icon libraries, and other icon systems. It provides consistent styling and sizing regardless of where an icon comes from.
Icon is a universal container for displaying icons. While [Ionicons](https://ionic.io/ionicons) is included by default with all Ionic Framework applications, the component can display Ionicons, custom SVGs, font-based icon libraries, and other icon systems. It provides consistent styling and sizing regardless of where an icon comes from.

For Ionicons documentation, refer to <a href="https://ionic.io/ionicons">ionic.io/ionicons</a>.
For Ionicons documentation, refer to [ionic.io/ionicons](https://ionic.io/ionicons).

## Basic Usage

Expand Down
2 changes: 1 addition & 1 deletion docs/api/item.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ import Metadata from '@site/static/usage/v9/item/content-types/metadata/index.md

Actions are interactive elements that do something when you activate them. An item can have multiple actions displayed on a line. However, developers should ensure that each action's tap target is large enough to be usable.

Developers should avoid creating <a href="https://dequeuniversity.com/rules/axe/4.4/nested-interactive">nested interactives</a> which can break the user experience with screen readers. For example, developers should avoid adding a button inside the main content of the Item if the `button` property is set to `true`.
Developers should avoid creating [nested interactives](https://dequeuniversity.com/rules/axe/4.4/nested-interactive) which can break the user experience with screen readers. For example, developers should avoid adding a button inside the main content of the Item if the `button` property is set to `true`.

<BestPracticeFigure
text={<>Actions can be added by using the <a href={useBaseUrl('api/item-sliding')}>Item Sliding</a> component. Actions can also be placed directly inside of the Item without the use of Item Sliding, but this should be limited to no more than 2 actions.</>}
Expand Down
2 changes: 1 addition & 1 deletion docs/cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ For some commands, such as `ionic serve`, the help documentation is contextual t

## Architecture

The Ionic CLI is built with [TypeScript](/docs/reference/glossary#typescript) and [Node.js](/docs/reference/glossary#node). It supports Node 10.3+, but the latest Node LTS is always recommended. Follow development on the open source <a href="https://github.com/ionic-team/ionic-cli" target="_blank">GitHub repository</a>.
The Ionic CLI is built with [TypeScript](/docs/reference/glossary#typescript) and [Node.js](/docs/reference/glossary#node). It supports Node 10.3+, but the latest Node LTS is always recommended. Follow development on the open source [GitHub repository](https://github.com/ionic-team/ionic-cli).

## Troubleshooting

Expand Down
2 changes: 1 addition & 1 deletion docs/contributing/coc.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ If any member of the community violates this code of conduct, the maintainers of

If you are subject to or witness unacceptable behavior, or have any other concerns, please email us at devrel@ionic.io.

Please review <a href="https://ionic.io/code-of-conduct" target="_blank" rel="noopener">Ionic's full code of conduct</a>.
Please review [Ionic's full code of conduct](https://ionic.io/code-of-conduct).
2 changes: 1 addition & 1 deletion docs/core-concepts/cross-platform.md
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ Most apps at some point will need to store some sort of data locally. Whether it

### Ionic Storage

In this case, <a href="https://github.com/ionic-team/ionic-storage" target="_blank">Ionic’s Storage library</a> is a perfect candidate for the multi-environment use case. Built on top of the well tested LocalForage library, Ionic’s storage class provides an adaptable storage mechanism that will pick the best storage solution for the current run time.
In this case, [Ionic’s Storage library](https://github.com/ionic-team/ionic-storage) is a perfect candidate for the multi-environment use case. Built on top of the well tested LocalForage library, Ionic’s storage class provides an adaptable storage mechanism that will pick the best storage solution for the current run time.

Currently this means it will run through SQLite for native, IndexedDB (if available), WebSql, or Local Storage. By handling all of this, it allows writing to storage using a stable API.

Expand Down
Loading