diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml
new file mode 100644
index 00000000000..ced06132a9e
--- /dev/null
+++ b/.github/workflows/CI.yml
@@ -0,0 +1,33 @@
+# GitHub Actions docs
+# https://help.github.com/en/articles/about-github-actions
+# https://help.github.com/en/articles/workflow-syntax-for-github-actions
+
+name: Install Dependencies, Lint
+
+on: [pull_request]
+
+jobs:
+ test:
+ name: Test on node ${{ matrix.node_version }} and ${{ matrix.os }}
+ runs-on: ${{ matrix.os }}
+ strategy:
+ matrix:
+ node_version: [16]
+ os: [windows-latest, macOS-latest]
+
+ steps:
+ - uses: actions/checkout@v1
+ - name: Use Node.js ${{ matrix.node_version }}
+ uses: actions/setup-node@v1
+ with:
+ node-version: ${{ matrix.node_version }}
+ - name: Install Dependencies
+ run: npm ci --legacy-peer-deps
+ - name: Lint
+ run: npm run lint
+ # Lint changes should be pushed
+ # to the branch before the branch
+ # is merge eligible.
+ - name: Check Diff
+ run: git diff --exit-code
+ shell: bash
diff --git a/.prettierignore b/.prettierignore
index 85fee6b4234..c9e0e72442c 100644
--- a/.prettierignore
+++ b/.prettierignore
@@ -1,13 +1,15 @@
src/theme/DocItem
src/theme/DocPage
legacy-stencil-components
-node_modules
scripts/bak
-src/styles.bak
-src/pages
+
docs/api
docs/native
docs/cli/commands
+static/code/stackblitz
+
.docusaurus
-.github
\ No newline at end of file
+.github
+build
+node_modules
diff --git a/.prettierrc.js b/.prettierrc.js
deleted file mode 100644
index 4122fc68e28..00000000000
--- a/.prettierrc.js
+++ /dev/null
@@ -1,11 +0,0 @@
-module.exports = {
- ...require("@ionic/prettier-config"),
- overrides: [
- {
- files: "*.md",
- options: {
- "parser": "mdx"
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 18349950c0e..327ea5004e8 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -54,8 +54,9 @@ Ionic's documentation is built using [Docusaurus](https://docusaurus.io/). The c
- `components/` - styles split out into the components they target
- `static/`
- `demos/` - self-contained demos, optionally presented by pages via `demoUrl` YAML frontmatter
+ - `usage/` - playgrounds that can be created by running `npm run playground:new` [(docs)](_templates/README.md#new-playground-template)
- `versioned_docs/` - versions of the docs created by the docusaurus versioning command
-- `versioned_sitebars/` - versions of the docs sidebars created by the docusaurus versioning command
+- `versioned_sidebars/` - versions of the docs sidebars created by the docusaurus versioning command
## Authoring Content
@@ -84,7 +85,7 @@ The Ionic docs have been translated into Japanese and are in the process of bein
We use Crowdin for our translation service. You can participate in the translation effort on the [Ionic Crowdin page](https://crowdin.com/project/ionic-docs).
-_Please submit translation issues to the Crowdin page and not the Ionic Docs GitHub repo_
+_Please submit translation issues to the Crowdin page and not the Ionic Docs GitHub repo._
The Japanese translation of the docs were built by an independent team, lead by [rdlabo](https://github.com/rdlabo) and can be found and contributed to on the [ionic-jp group's `ionic-docs` project page](https://github.com/ionic-jp/ionic-docs).
diff --git a/_templates/README.md b/_templates/README.md
new file mode 100644
index 00000000000..0e91373099f
--- /dev/null
+++ b/_templates/README.md
@@ -0,0 +1,32 @@
+# Hygen templates
+
+The templates in this directory are intended to be used with [hygen](https://www.hygen.io/) to generate boilerplate files. Check out [the root package.json](../package.json) to see if there are any custom commands to use them (e.g. `npm run playground:new`). You can also run e.g. `hygen playground new` to use a generator.
+
+Some helpful docs links for updating/creating templates:
+
+- [enquirer](https://github.com/enquirer/enquirer#toggle-prompt) for building command line prompts
+- [inflection](https://www.hygen.io/docs/templates#helpers-and-inflections) and [change case](https://www.hygen.io/docs/templates#change-case-helpers) for e.g. changing the case of variables submitted via the prompts
+
+# New playground template
+
+## Generation
+
+To create a new playground, run `npm run playground:new`. This will walk you through some prompts to decide what files for the generator to create for the playground, and what their paths should be.
+
+The path defaults to `basic`. If there is already a basic playground, you'll want to input a different path for the playground.
+
+The CSS option will add extra files if you need to include custom CSS in your playground.
+
+If you need a component for multiple versions of Ionic Framework, you (currently) need to run the generator once for each version.
+
+## Usage
+
+Once you've generated your playground, you need to add it to the main markdown file in the docs (e.g. [docs/api/button.md](../docs/api/button.md)) by doing something similar to the following example:
+
+```
+## Feature
+
+import Feature from '@site/static/usage/v7/button/feature/index.md';
+
+
Buttonを使ってユーザが行動を起こすことができます。これはアプリと対話したり、移動したりするのに不可欠な方法です。
++ Buttonを使ってユーザが行動を起こすことができます。これはアプリと対話したり、移動したりするのに不可欠な方法です。 +
- Cardは重要なコンテンツを表示するのに最適な方法で、画像、ボタン、テキストなどを含めることができます。 -
+Cardは重要なコンテンツを表示するのに最適な方法で、画像、ボタン、テキストなどを含めることができます。
日付と時刻のピッカーは、ユーザーが日付と時刻を簡単に選択できるようにするためのインターフェースを提示することができます。
++ 日付と時刻のピッカーは、ユーザーが日付と時刻を簡単に選択できるようにするためのインターフェースを提示することができます。 +
フローティングアクションボタン(FAB)は、画面上で主要な、または最も一般的なアクションを実行する円形のボタンです。
++ フローティングアクションボタン(FAB)は、画面上で主要な、または最も一般的なアクションを実行する円形のボタンです。 +
Menuは一般的なナビゲーションパターンです。それらは常時画面上に表示することも、必要に応じて表示することもできます。
++ Menuは一般的なナビゲーションパターンです。それらは常時画面上に表示することも、必要に応じて表示することもできます。 +
Modalはは、一時的なUIを表示するために画面内および画面外にスライドするため、ログインページまたはサインアップページによく使用されます。
++ Modalはは、一時的なUIを表示するために画面内および画面外にスライドするため、ログインページまたはサインアップページによく使用されます。 +
Tabsを使用すると、タブ付きナビゲーション、つまり現代のアプリケーションの標準的なナビゲーションパターンが有効になります。
++ Tabsを使用すると、タブ付きナビゲーション、つまり現代のアプリケーションの標準的なナビゲーションパターンが有効になります。 +
AngularでIonicアプリを作るための基本を押さえた完全ガイドです
ReactでIonicアプリを作るための基本を押さえた完全ガイドです
-ReactでIonicアプリを作るための基本を押さえた完全ガイドです
+VueでIonicアプリを作るための基本を押さえた完全ガイドです
diff --git a/docs/intro/next.md b/docs/intro/next.md index e19041a8e66..801626e379d 100644 --- a/docs/intro/next.md +++ b/docs/intro/next.md @@ -13,20 +13,24 @@ title: 次のステップ import DocsCard from '@components/global/DocsCard'; import DocsCards from '@components/global/DocsCards'; -## 最初のアプリを作る +import DeveloperExperts from '@components/page/intro/next/DeveloperExperts'; -Ionicアプリを構築する際に使用する予定のJavaScriptフレームワークを選択します。 +## 最初のアプリをつくる + +Ionic アプリを構築する際に使用する予定の JavaScript フレームワークを選択します。AngularでIonicアプリを作るための基本を押さえた完全ガイドです
ReactでIonicアプリを作るための基本を押さえた完全ガイドです
-ReactでIonicアプリを作るための基本を押さえた完全ガイドです
+VueでIonicアプリを作るための基本を押さえた完全ガイドです
Click the icon in the top left to toggle the menu.
-display: flex;
と記述するだけで済み、かつ自動的に正しくCSSに差し込まれます。
@@ -58,8 +58,8 @@ title: 用語集
- バンドルとは、アプリケーションの依存関係(自分で書いたコードと任意にインストールされている npm モジュール)を取得し、 - コンパイル/トランスパイルすることで一つのファイルに落とし込むプロセスです。 + バンドルとは、アプリケーションの依存関係(自分で書いたコードと任意にインストールされている npm + モジュール)を取得し、 コンパイル/トランスパイルすることで一つのファイルに落とし込むプロセスです。
@@ -72,9 +72,10 @@ title: 用語集 Capacitor {' '} は、web ベースのアプリケーションをネイティブの iOS、Android、Electron、web上で実行できるようにするオープンソースの - クロスプラットフォームアプリランタイムです。 - 「ネイティブのプログレッシブ Web アプリケーション」を示すこれらのアプリはとても参考になり、 - それらは従来のハイブリッドアプリの考え方を超えた次の進化を表しています。Capacitor は Ionic 社によって作られ、活発に開発/サポートされています。 + クロスプラットフォームアプリランタイムです。 「ネイティブのプログレッシブ Web + アプリケーション」を示すこれらのアプリはとても参考になり、 + それらは従来のハイブリッドアプリの考え方を超えた次の進化を表しています。Capacitor は Ionic + 社によって作られ、活発に開発/サポートされています。 @@ -83,15 +84,16 @@ title: 用語集- CLI、または Command-Line Interface はプログラムと互いに作用し合う、 - テキストベースのインターフェースです。Mac ユーザの共通のコマンドラインアプリケーションは - Terminal アプリケーションであり、Windows ユーザによく使われるものはコマンドプロンプトです。 - Ionic コミュニティでよく使われるものは、次に示すこの{' '} - Ionic's CLI というターミナルです。Ionic's CLI は、 + CLI、または Command-Line Interface + はプログラムと互いに作用し合う、 テキストベースのインターフェースです。Mac + ユーザの共通のコマンドラインアプリケーションは Terminal アプリケーションであり、Windows + ユーザによく使われるものはコマンドプロンプトです。 Ionic コミュニティでよく使われるものは、次に示すこの{' '} + Ionic's CLI というターミナルです。Ionic's CLI は、 アプリケーションのプロダクションビルドの生成や、開発用のサーバーの起動、 - Ionic の商用サービス - へのアクセス{' '}など、様々なことに使われています - 。 + + Ionic の商用サービス + + へのアクセス など、様々なことに使われています 。
@@ -116,9 +118,10 @@ title: 用語集 Apache Cordova {' '} - は、標準の HTML/CSS/JS を本格的なネイティブアプリケーションに変換する、オープンソースのモバイルアプリケーション開発用フレームワークです。 - 実機のカメラや加速度計などのネイティブの機能にアクセスする JavaScript API を提供します。 - Cordova は、ウェブアプリケーションを iOS、Android、Windows Phone にパッケージングするために必要なビルドツールを含みます。 + は、標準の HTML/CSS/JS + を本格的なネイティブアプリケーションに変換する、オープンソースのモバイルアプリケーション開発用フレームワークです。 + 実機のカメラや加速度計などのネイティブの機能にアクセスする JavaScript API を提供します。 Cordova + は、ウェブアプリケーションを iOS、Android、Windows Phone にパッケージングするために必要なビルドツールを含みます。 @@ -153,12 +156,10 @@ title: 用語集- デコレータは、関数を返す式です。既存の関数を使用して、その動作を拡張できます。 - TypeScript では、クラス や パラメータ を装飾することもできます。 - クラス を装飾すると、そのコンストラクタの動作がラップおよび拡張されます。 - つまり、デコレータはコンストラクタが呼び出されるといくつかの機能を追加し、独自のコンストラクタを返します。 - パラメータ を修飾すると、 - そのパラメータに渡される引数がラップされます。 + デコレータは、関数を返す式です。既存の関数を使用して、その動作を拡張できます。 TypeScript では、クラス や{' '} + パラメータ を装飾することもできます。 + クラス を装飾すると、そのコンストラクタの動作がラップおよび拡張されます。 つまり、デコレータはコンストラクタが呼び出されるといくつかの機能を追加し、独自のコンストラクタを返します。 + パラメータ を修飾すると、 そのパラメータに渡される引数がラップされます。 デコレータは、引数がメソッドに渡されると機能を追加し、独自の引数を返します。
@@ -168,8 +169,8 @@ title: 用語集- ES5 とは EcmaScript 5th Edition のことです。 - 簡単に言えば、ES5 は今日開発者が最もよく知っている JavaScript のバージョンのことです。 + ES5 とは EcmaScript 5th Edition のことです。 簡単に言えば、ES5 は今日開発者が最もよく知っている JavaScript + のバージョンのことです。
@@ -179,9 +180,10 @@ title: 用語集このバージョンの JavaScript には、クラス、モジュール、イテレーター、Promise など、 - 広範囲の新機能が導入されています。Evergreen のブラウザ(Chrome、Safari、Firefox、Edge)は - ES6 を完全にサポートしていますが、古いブラウザで ES6 の機能を使うには、Babel や - TypeScript のようなツールが ES6 のコードを ES5 に変換する必要があります。 + 広範囲の新機能が導入されています。Evergreen のブラウザ(Chrome、Safari、Firefox、Edge)は ES6 + を完全にサポートしていますが、古いブラウザで ES6 の機能を使うには、Babel や + TypeScript のようなツールが ES6 のコードを ES5 に変換 + する必要があります。
@@ -211,9 +213,9 @@ title: 用語集- Genymotion はサードパーティーの Android エミュレータです。 - 非常に高速で、Android 上でアプリを素早くテストするのに便利だ。 - 詳しくは、Genymotion のリソースのセクションを参照してください。 + Genymotion はサードパーティーの Android エミュレータです。 非常に高速で、Android + 上でアプリを素早くテストするのに便利だ。 詳しくは、Genymotion の + リソースのセクションを参照してください。
@@ -266,9 +268,9 @@ title: 用語集 Ionicons {' '} - は Ionic社によって作成・利用されているオープンソースのアイコンのセットです。 - 1:1 で iOS とマテリアルデザインのアイコンと、よく使われるソーシャル/アプリケーションのアイコンを含みます。 - Ionicons はデフォルトで Ionic ディストリビューションに含まれますが、任意のプロジェクトでも使うことが出来ます。 + は Ionic社によって作成・利用されているオープンソースのアイコンのセットです。 1:1 で iOS + とマテリアルデザインのアイコンと、よく使われるソーシャル/アプリケーションのアイコンを含みます。 Ionicons + はデフォルトで Ionic ディストリビューションに含まれますが、任意のプロジェクトでも使うことが出来ます。 @@ -311,8 +313,10 @@ title: 用語集Live Reload (or live-reload) は、アプリケーションの変更を検出すると、 - 自動的にブラウザまたは{' '} Web View をリロードするツールです。場合によっては、ウィンドウ全体をリロードしなくても、 - アプリケーションの一部を置き換えることができます。ライブリロード には実行中の開発サーバーが必要なので、Web View にはデプロイされたファイルを単に読むのではなく、URLをロードする必要があるため、別のデバイスでライブリロードを使用するのは難しいかもしれません。詳しくは{' '} + 自動的にブラウザまたは Web View{' '} + をリロードするツールです。場合によっては、ウィンドウ全体をリロードしなくても、 + アプリケーションの一部を置き換えることができます。ライブリロード には実行中の開発サーバーが必要なので、Web View + にはデプロイされたファイルを単に読むのではなく、URLをロードする必要があるため、別のデバイスでライブリロードを使用するのは難しいかもしれません。詳しくは{' '} Live Reload docs を御覧ください。
@@ -325,8 +329,8 @@ title: 用語集 Node {' '} - は、サーバサイドで JavaScript を書くことができるランタイム環境です。 - 加えて、Node は Web サービスに使用されるだけでなく、Ionic CLIなどの開発者ツールの構築にもよく使用されます。 + は、サーバサイドで JavaScript を書くことができるランタイム環境です。 加えて、Node は Web + サービスに使用されるだけでなく、Ionic CLIなどの開発者ツールの構築にもよく使用されます。 @@ -360,8 +364,7 @@ title: 用語集Apple 社が Bundle ID と呼び、Android 社が Application ID と呼ぶ - Package ID は、App Store/Play Store に公開されたアプリを識別するために使用されます。 - これは + Package ID は、App Store/Play Store に公開されたアプリを識別するために使用されます。 これは 逆 DNS 表記 @@ -378,8 +381,9 @@ title: 用語集 polyfill {' '} - は、ブラウザに機能を追加し、ブラウザの違いを標準化する少しのコードです。これは shim と似ていますが、 - shim に独自の API がある場合には、ブラウザに実装されていることを期待する API として polyfill を使用します。 + は、ブラウザに機能を追加し、ブラウザの違いを標準化する少しのコードです。これは shim{' '} + と似ていますが、 shim に独自の API がある場合には、ブラウザに実装されていることを期待する API として polyfill + を使用します。
@@ -391,8 +395,8 @@ title: 用語集 Protractor {' '} - Angular チームが開発したテストフレームワークです。Protractor は、エンドツーエンドのテストのために、 - Karma のようなテストランナーと一緒に使うことができます。テストランナーを使用すると、コードの品質を高速かつプログラム的に検証できます。 + Angular チームが開発したテストフレームワークです。Protractor は、エンドツーエンドのテストのために、 Karma + のようなテストランナーと一緒に使うことができます。テストランナーを使用すると、コードの品質を高速かつプログラム的に検証できます。 @@ -401,8 +405,7 @@ title: 用語集- Sass は CSS にコンパイルされるスタイルシート言語で、Ionicで使用されています。 - Sass は CSS に似ています: {' '} + Sass は CSS にコンパイルされるスタイルシート言語で、Ionicで使用されています。 Sass は CSS に似ています:{' '} 変数 @@ -458,8 +461,8 @@ title: 用語集
- Shim は、ブラウザ間で API を正規化するコードです。 - Shim は、エンドユーザーからブラウザ固有の実装を隠すような独自の API を持つことができます。 + Shim は、ブラウザ間で API を正規化するコードです。 Shim は、エンドユーザーからブラウザ固有の実装を隠すような独自の + API を持つことができます。
@@ -468,10 +471,11 @@ title: 用語集- トランスパイル は、実行前にコードをある言語から別の言語に変換するプロセスです。一般的に、トランスパイルは高級言語を別の高級言語に変換します。 - Ionic Framework の最も一般的な{' '} - トランスパイルは、ES2015/ES6 - (TypeScript) から ES5(従来のJavaScript)への変換です。 + トランスパイル + は、実行前にコードをある言語から別の言語に変換するプロセスです。一般的に、トランスパイルは高級言語を別の高級言語に変換します。 + Ionic Framework の最も一般的な トランスパイルは、ES2015/ES6( + TypeScript) から + ES5(従来のJavaScript)への変換です。
@@ -491,7 +495,8 @@ title: 用語集 インターフェース - などの多くの機能を追加した JavaScript を提供することを意味します。Ionic は TypeScript で構築されていますが、Ionic アプリの構築において TypeScript の使用は完全にオプショナルです。 + などの多くの機能を追加した JavaScript を提供することを意味します。Ionic は TypeScript で構築されていますが、Ionic アプリの構築において + TypeScript の使用は完全にオプショナルです。 @@ -514,8 +519,8 @@ title: 用語集 Webpack {' '} は、JavaScript モジュールとその他のアセットを一緒にバンドルします。 - これを使用して、必要なときにのみ読み込まれる単一の、または複数の「チャンク」を作成できます。 - Webpack を使うと、多くのファイルや依存関係を1つのファイルか、他のタイプにまとめることができます。 + これを使用して、必要なときにのみ読み込まれる単一の、または複数の「チャンク」を作成できます。 Webpack + を使うと、多くのファイルや依存関係を1つのファイルか、他のタイプにまとめることができます。 @@ -528,10 +533,11 @@ title: 用語集 World Wide Web Consortium {' '} - (W3C) は Web の標準化団体です。業界のリーダーと一般市民が協力して {' '} - - Web 標準 - を開発します。Web 標準とは、Web プラットフォームを定義するプロトコル、仕様、および技術のセットです。 + (W3C) は Web の標準化団体です。業界のリーダーと一般市民が協力して{' '} + + Web 標準 + + を開発します。Web 標準とは、Web プラットフォームを定義するプロトコル、仕様、および技術のセットです。 @@ -543,10 +549,10 @@ title: 用語集 Xcode {' '} - は Apple 社のオペレーティングシステム(macOS、iOS、watchOS、tvOS) 上でソフトウェア開発を行うための Apple IDE(統合開発環境)であり、 - 他の言語やプラットフォーム用の拡張機能を備えています。 - is an Apple IDE (integrated development environment) for software development on Apple operating systems (macOS, - iOS, watchOS and tvOS), with extensions available for other languages and platforms. + は Apple 社のオペレーティングシステム(macOS、iOS、watchOS、tvOS) 上でソフトウェア開発を行うための Apple + IDE(統合開発環境)であり、 他の言語やプラットフォーム用の拡張機能を備えています。 is an Apple IDE (integrated + development environment) for software development on Apple operating systems (macOS, iOS, watchOS and tvOS), with + extensions available for other languages and platforms. diff --git a/docs/reference/support.md b/docs/reference/support.md index c754cb8d3af..5247a56b163 100644 --- a/docs/reference/support.md +++ b/docs/reference/support.md @@ -12,23 +12,23 @@ title: サポートポリシー ## コミュニティメンテナンス -Ionic Frameworkは当初から100%オープンソース(MIT)で、今後もオープンソースとして公開されます。開発者は、Ionicのコミュニティメンテナンス戦略を通して、Ionicが彼らのクロスプラットフォームアプリにとって正しい選択であることを保証することができます。Ionicチームは定期的に新しいリリースとバグ修正を提供しており、コミュニティからのプルリクエストを歓迎しています。 +Ionic Framework は当初から 100%オープンソース(MIT)で、今後もオープンソースとして公開されます。開発者は、Ionic のコミュニティメンテナンス戦略を通して、Ionic が彼らのクロスプラットフォームアプリにとって正しい選択であることを保証することができます。Ionic チームは定期的に新しいリリースとバグ修正を提供しており、コミュニティからのプルリクエストを歓迎しています。 ## Framework Maintenance and Support Status -Given the reality of time and resource constraints as well as the desire to keep innovating in the frontend development space, over time it becomes necessary for the Ionic team to shift focus to newer versions of the Framework. However, Ionic will do everything it can to make the transition to newer versions as smooth as possible. The Ionic team recommends updating to the newest version of the Ionic Framework for the latest features, improvements and stability updates. For more details, consult [the Migration page](migration.md). +Given the reality of time and resource constraints as well as the desire to keep innovating in the frontend development space, over time it becomes necessary for the Ionic team to shift focus to newer versions of the Framework. However, Ionic will do everything it can to make the transition to newer versions as smooth as possible. The Ionic team recommends updating to the newest version of the Ionic Framework for the latest features, improvements and stability updates. The current status of each Ionic Framework version is: -| Version | Status | Released | Maintenance Ends | Ext. Support Ends | -| :-----: | :-------------------: | :----------: | :--------------: | :---------------: | -| V7 | Beta | TBD | TBD | TBD | -| V6 | **Active** | Dec 8, 2021 | TBD | TBD | -| V5 | End of Support | Feb 11, 2020 | June 8, 2022 | Dec 8, 2022 | -| V4 | End of Support | Jan 23, 2019 | Aug 11, 2020 | Sept 30, 2022 | -| V3 | End of Support | Apr 5, 2017 | Oct 30, 2019 | Aug 11, 2020 | -| V2 | End of Support | Jan 25, 2017 | Apr 5, 2017 | Apr 5, 2017 | -| V1 | End of Support | May 12, 2015 | Jan 25, 2017 | Jan 25, 2017 | +| Version | Status | Released | Maintenance Ends | Ext. Support Ends | +| :-----: | :------------: | :----------: | :--------------: | :---------------: | +| V7 | **Active** | Mar 29, 2023 | TBD | TBD | +| V6 | Maintenance | Dec 8, 2021 | Sep 29, 2023 | Mar 29, 2024 | +| V5 | End of Support | Feb 11, 2020 | June 8, 2022 | Dec 8, 2022 | +| V4 | End of Support | Jan 23, 2019 | Aug 11, 2020 | Sept 30, 2022 | +| V3 | End of Support | Apr 5, 2017 | Oct 30, 2019 | Aug 11, 2020 | +| V2 | End of Support | Jan 25, 2017 | Apr 5, 2017 | Apr 5, 2017 | +| V1 | End of Support | May 12, 2015 | Jan 25, 2017 | Jan 25, 2017 | - **Maintenance**: Only critical bug and security fixes. No major feature improvements. - **Extended Support**: For teams and organizations that require additional long term support, Ionic has extended support options available. To learn more, see our [Enterprise offerings](https://ionicframework.com/enterprise). @@ -43,11 +43,11 @@ The Ionic team has compiled a set of recommendations for using the Ionic Framewo | Framework | Minimum Angular Version | Maximum Angular Version | TypeScript | | :-------: | :---------------------: | :---------------------: | :--------: | -| v7 | v14 | v15.x^ | 4.6+ | -| v6 | v12 | v15.x^ | 4.0+ | -| v5 | v8.2 | v12.x | 3.5+ | -| v4 | v8.2 | v11.x | 3.5+ | -| v3 | v5.2.11 | v5.2.11 | 2.6.2 | +| v7 | v14 | v16.x^ | 4.6+ | +| v6 | v12 | v15.x^ | 4.0+ | +| v5 | v8.2 | v12.x | 3.5+ | +| v4 | v8.2 | v11.x | 3.5+ | +| v3 | v5.2.11 | v5.2.11 | 2.6.2 | > ^ Angular 14.x supported starting in Ionic v6.1.9. Angular 15.x supported starting in Ionic v6.3.6. @@ -61,18 +61,18 @@ Note that later versions of Ionic do not support iOS 13; see [mobile support tab | Framework | Required React Version | TypeScript | | :-------: | :--------------------: | :--------: | -| v7 | v17+ | 3.7+ | -| v6 | v17+ | 3.7+ | -| v5 | v16.8+ | 3.7+ | -| v4 | v16.8+ | 3.7+ | +| v7 | v17+ | 3.7+ | +| v6 | v17+ | 3.7+ | +| v5 | v16.8+ | 3.7+ | +| v4 | v16.8+ | 3.7+ | #### Ionic Vue | Framework | Required Vue Version | TypeScript | | :-------: | :------------------: | :--------: | -| v7 | v3.0.6+ | 3.9+ | -| v6 | v3.0.6+ | 3.9+ | -| v5 | v3.0+ | 3.9+ | +| v7 | v3.0.6+ | 3.9+ | +| v6 | v3.0.6+ | 3.9+ | +| v5 | v3.0+ | 3.9+ | ### Native Bridges diff --git a/docs/reference/versioning.md b/docs/reference/versioning.md index 7f046f84893..2489fd44447 100644 --- a/docs/reference/versioning.md +++ b/docs/reference/versioning.md @@ -2,24 +2,27 @@ -Ionic FrameworkはSemantic Versioning (SemVer)の形式:メジャー.マイナー.パッチ.
に従います。互換性のないAPIの変更はメジャー
バージョン、後方互換性のある機能を追加する時はマイナー
バージョン、後方互換性のあるバグ修正はパッチ
バージョンをあげます。
+Ionic Framework はSemantic Versioning (SemVer)の形式: メジャー.マイナー.パッチ.
に従います。互換性のない API の変更はメジャー
バージョン、後方互換性のある機能を追加する時はマイナー
バージョン、後方互換性のあるバグ修正はパッチ
バージョンをあげます。
## リリーススケジュール
### メジャーリリース
-メジャーリリースは、APIに重大な変更が加えられたときに公開されます。メジャーリリースはおよそ**6ヶ月**ごとに行われ、重大な変更が含まれる可能性があります。フィードバックを得るために、いくつかのリリース候補がメジャーリリースの前に公開されます。何が変更されているのか、またその理由がリリース候補に含まれる予定です。
+メジャーリリースは、API に重大な変更が加えられたときに公開されます。メジャーリリースはおよそ**6 ヶ月**ごとに行われ、重大な変更が含まれる可能性があります。フィードバックを得るために、いくつかのリリース候補がメジャーリリースの前に公開されます。何が変更されているのか、またその理由がリリース候補に含まれる予定です。
### マイナーリリース
-マイナーリリースは、新しい機能が追加されたり、APIが変更されたりした場合に公開されます。私たちは、リリースに自信を持てるよう、すべての変更点を徹底的にテストしますが、新しいコードには新しい問題が発生する可能性があります。マイナーバージョンのリリースは、機能追加やAPIの変更があった場合、**6週間ごと**に行う予定です。
+マイナーリリースは、新しい機能が追加されたり、API が変更されたりした場合に発行されます。私たちはリリースに自信を持てるよう、あらゆる変更を徹底的にテストしますが、新しいコードには新しい問題が発生する可能性があります。機能や API の変更があった場合、**4 週間**ごとにマイナーバージョンをリリースする予定です。
### パッチリリース
-パッチリリースは、バグフィックスが含まれているが、APIが変更されておらず、破壊的な変更が導入されていない場合に公開されます。私たちは新しいパッチバージョンを**毎週**リリースする予定ですが、予定より早く、または遅くリリースする必要がある場合があります。パッチリリースでは、新機能による新たな問題を発生させることなく、既存のコードを修正できるように、パッチリリースは常にマイナーリリースより前に公開されます。
+パッチリリースは、バグフィックスが含まれているが、API が変更されておらず、破壊的な変更が導入されていない場合に公開されます。私たちは新しいパッチバージョンを**毎週**リリースする予定ですが、予定より早く、または遅くリリースする必要がある場合があります。パッチリリースでは、新機能による新たな問題を発生させることなく、既存のコードを修正できるように、パッチリリースは常にマイナーリリースより前に公開されます。
## Changelog
-注目すべき変更点の一覧はchangelogで確認することができます。これには、
+注目すべき変更点の一覧は changelog で確認することができます。これには、
各リリースでのすべてのバグ修正と新機能の一覧が含まれています。
-changelog
+
+
+ changelog
+
diff --git a/docs/studio/assets.md b/docs/studio/assets.md
deleted file mode 100644
index 20a68326ab6..00000000000
--- a/docs/studio/assets.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# Asset Management
-
-The **Assets** section is a quick and easy way to add images or other media to Ionic apps.
-
-
-
-The files listed are all contained in the `src/assets` directory, which makes them available in the Ionic app.
-
-## Assets Window
-
-When an element is selected inside of Compose mode that takes `src` as an attribute (such as an `img` tag), the "Choose" button will open the assets window and an asset can be selected for the element attribute.
-
-
diff --git a/docs/studio/code.md b/docs/studio/code.md
deleted file mode 100644
index 7196a738e52..00000000000
--- a/docs/studio/code.md
+++ /dev/null
@@ -1,40 +0,0 @@
-# Working with Code
-
-Ionic Studio works alongside your code editor of choice to enable more complex development workflows
-that go beyond Studio's UI development features.
-
-## Launching your Editor
-
-To launch your Studio app project in your editor of choice, navigate to the Designer index and click "Open in editor." Alternatively,
-the Project -> Open in Editor menu bar item may be used.
-
-
-
-## Configuring your Editor
-
-Studio detects a number of popular code editors, such as Visual Studio Code, Sublime Text, and more.
-
-If Studio is not able to detect your editor, ensure that one is installed and configured in the default manner.
-
-Studio will automatically detect one of
-
-- Sublime Text
-- Atom
-- Visual Studio Code
-- WebStorm
-- TextMate
-- Vim
-- NeoVim
-- IntelliJ
-- GNU nano
-- GNU Emacs
-
-## Opening in another editor
-
-If Studio does not automatically detect your editor or your editor is not on the list of supported editors,
-the app project can always be opened directly.
-
-To find the project path, use the Project -> Open in Finder (or Explorer) option to navigate to the project
-directory on disk and navigate to that path in your editor's project open dialog.
diff --git a/docs/studio/designer.md b/docs/studio/designer.md
deleted file mode 100644
index f026bd5e459..00000000000
--- a/docs/studio/designer.md
+++ /dev/null
@@ -1,179 +0,0 @@
-# Designer Overview
-
-The Designer is the powerhouse of Studio, offering a drag-and-drop page builder for pages and components, with a code-behind editor for the template, styles, and scripts (TypeScript)
-
-## Introduction
-
-With the Designer, developers can:
-
-- Drag and drop to build pages and components
-- Select from the entire library of Ionic elements for drag-and-drop _and_ code editing.
-- Switch between visual and code editing for pages and components
-- View and work with most supported Ionic element properties, saving a trip checking the Documentation
-
-
-
-## Pages and Components
-
-In the Designer, pages and components work directly off of the files powering them (TypeScript, HTML, CSS).
-
-When first loaded, the Designer index is shown. This index lsits the pages and custom components that Studio detected in the app. Components detected can be seen by switching to the components tab.
-
-Studio finds pages and components by scanning your project looking for Component source files, so works on a variety of project file layouts.
-
--- - - -Switching to the component section on the Designer index reveals all the components found in the app. - - - -See [Adding Pages and Components](#adding-pages-and-components) to create new pages and components. - -## Adding Pages and Components - -To add pages or components to an app, click the **New** button in the top right of the page index. - - - -When adding a component (rather than a page), Studio will prompt for the name and a page in which to register it. - - - -This adds the component as a _import_ in the NgModule of the selected page, which allows it to be used in that page. - -- Since the difference between pages and components is conceptual, Ionic Studio relies on convention to differentiate - them. If there are pages missing, make sure each page follows the convention Ionic Studio is expecting: -
-- The files that represent each page must have the proper suffixes (e.g.
-.page.ts
,{' '} -.page.html
,.page.scss
). See the{' '} - Angular style guide for additional information about naming - conventions. -
- The same code changes are necessary to use the component in other pages. See [this - FAQ](faq.md#using-a-custom-component-in-additional-pages) for details. -- -## Drag & Drop - -The Designer offers a drag & drop canvas for quickly adding new elements and rearranging existing elements. - -### Selecting Elements - -To select an element, click on it in the canvas. To select a child element, double click on its parent. Continue to double click to select deeper child elements and to edit text. - -To enable fine-selection, which selects the deepest child under the mouse cursor, hold down the Ctrl key (or Command for macOS) and hover over an element. - -To exit the current selection, use the Esc key. - -To select any element under the cursor, right click and choose an element from the `Select Element` dropdown: - - - -To select any element in the current document, access the element tree and click on the element to select: - - - -### Adding New Elements - -To add new elements to a page or component, drag and drop a new element from the Elements list, or use right click and "Quick Add" to -add context-specific elements easily. - - - -Elements may also be dragged into the HTML for a page or component, and will result in a new code snippet being inserted at the cursor position. - -### Quick Adding New Elements - -Certain elements support quickly adding child elements by right-clicking and selecting an element in the `Quick Add` menu. Some components that support quickly adding new elements include List, List Item, Grid, Segment Button, and more. - - - -### Rearranging Existing Elements - -To rearrange existing elements in the canvas, click and hold on it, then drag it into place. - -Remember, it is also possible to drag and drop code selections in the code editor. - -## Properties Panel - -When an element is selected in the Designer canvas, the properties panel will update to reflect the selected element. - - - -In the properties panel, the properties that can be modified are listed. - -For Ionic components, the properties panel contains a link to the component's documentation at the bottom. - -
- Unfortunately, the properties panel does not show properties for custom components in your app, but this is a feature - we'll be adding! -- -## Editor View - -The HTML, CSS, and JS (TypeScript) for a page or company can be edited by switching to the Editor View: - - - -## Template Editing - -Each page or component has an HTML template that makes up its structure. Template editing makes it easy to make quick edits to the template, such as changing text or dragging in new element code snippets from the Elements list. - - - -## Styles Editing - -The Styles editor contains the CSS (Sass) for that page or component. - -Any changes to the styles are reflected in the canvas when saved. The styles in this mode are only applicable to the current page or component. - - - -## Scripts Editing - -The **Scripts** editor is for making changes to the controller, or logic, behind a page or component. This editor is used for making -quick changes to logic for the page or component. For more complicated changes we recommend opening the project in a full-fledged code editor. - - - -## Troubleshooting the Canvas - -If the canvas gets into an inconsistent or incorrect state, click the reload icon from the canvas utility bar to cause the canvas to reload its current contents: - - diff --git a/docs/studio/faq.md b/docs/studio/faq.md deleted file mode 100644 index 49a116ceabd..00000000000 --- a/docs/studio/faq.md +++ /dev/null @@ -1,23 +0,0 @@ -# Frequently Asked Questions - -## Which versions of Ionic Framework are supported? - -Ionic Studio currently supports apps using **Ionic 4** and **Angular**. - -Ionic 3 is not supported. We encourage you to [migrate to Ionic 4](https://ionicframework.com/docs/reference/migration). - -## Is Capacitor supported? - -Ionic Studio currently does not support Capacitor. We plan to add support soon now that Capacitor has reached 1.0. - -## Can I use a component in multiple pages? - -Yes. In order to preserve speed, Angular only loads the components that it needs for any given page. This means that in order to use a custom component inside of a page, you must first make sure that components module is imported into your pages module. - -Open up the page you'd like to use a component in, then navigate to the module tab. Take note of the `import` line as well as the `import` in `ngModule`. Both things are required in order to load your component on a page. - -In this example, our component is called "MyCustomThing": - - diff --git a/docs/studio/guides/routing-and-navigation.md b/docs/studio/guides/routing-and-navigation.md deleted file mode 100644 index ac666208502..00000000000 --- a/docs/studio/guides/routing-and-navigation.md +++ /dev/null @@ -1,29 +0,0 @@ -# Routing and Navigation - -A key part of developing Ionic apps is setting up routing and ensuring fluid navigation between pages. - -The Ionic Framework docs have a [great primer](../../angular/navigation.md) on Angular routing and navigation. - -## Quick Tips - -The following tips assume you already know the basics about Angular routing. - -### Adding a New Page - -When you add a new Page in Ionic Studio, it is automatically added to the routing configuration inside of `app-routing.module.ts`. - - - -If you'd like to change where this page is "located", you might want to move the Route into a different routing or module file. - -### Using a Page in Multiple Places - -You can use the same page in multiple places by ensuring that a route exists for it from those locations. For instance, if you'd like the "Detail" Page to be accessible inside of Tab1 of your application as well as Tab2, you'd want a `/detail` declaration in the router for both Tab1 and Tab2. - -### Using RouterLink - -You should be using the `[routerLink]="['/tabs','tab1']"` style of navigation when trying to make a button or list-item (or other component) link to a different page. - -If this throws an error, you need to ensure that RouterModule is included in your pages module. diff --git a/docs/studio/guides/using-native-functionality.md b/docs/studio/guides/using-native-functionality.md deleted file mode 100644 index 41e0f4089e6..00000000000 --- a/docs/studio/guides/using-native-functionality.md +++ /dev/null @@ -1,17 +0,0 @@ -# Using Native Functionality - -Depending on which Cordova Plugin you're using, you may need to run your app on a physical or virtual device in order to test out that feature. - -For instance, a plugin for utilizing the Gyroscope will only work on a physical device, while a plugin for Storage will work in Serve as well. - -In order to debug Native Functionality, it is best to utilize the native tooling. For instance, you might want to use the following in order to test: - -1. In Studio's main toolbar, click on **Project** » **Build** » **Build iOS** (or Android) -1. Click on **Project** » **Open in XCode** (or Android Studio) -1. Use XCode or Android Studio to run your project on your physical device. -1. You now have access to native debugging logs inside of XCode or Android Studio. -1. You can also use Safari (iOS) or Chrome (Android) in order to inspect the web content of your application. - -For more detailed instructions, please see the [Building for iOS](../../developing/ios.md) or [Building for Android](../../developing/android.md) documentation. - -If you'd like to follow along with a beginners tutorial that includes utilizing the Camera Cordova plugin, please see our [Build your First App guide](../../angular/your-first-app.md). While this guide isn't specific to Studio, you can still follow along using Studio. diff --git a/docs/studio/running.md b/docs/studio/running.md deleted file mode 100644 index 8636ae2f597..00000000000 --- a/docs/studio/running.md +++ /dev/null @@ -1,66 +0,0 @@ -# Running Apps - -Ionic Studio offers support for serving, running, and deploying apps. - -Serving, running, and deploying each have pros and cons. - -- **Serving** is easy and requires no native project setup, but doesn't work with native functionality -- **Running** apps can be complex and difficult to debug, but allows the app to be tested on a real device -- **Installing** is the best way to make sure the app is ready for production, but doesn't work with livereload - -## Serving Apps - -When an app is served, Ionic Studio starts a Dev Server with [Live Reload](../reference/glossary.md#livereload) and displays the app in a separate browser window, called a _Serve Window_. - -To serve an app, click the Play button in the upper right-hand corner of Ionic Studio. Then choose _Serve_ from the dropdown. - -This will compile the app and then watch for changes in source files. When changes are made, the app will automatically be reloaded with the latest changes. - -### Serve Window - -After compilation, the app is opened inside a Serve Window. - - - -The Serve Window toolbar offers features such as changing the device viewport, switching between portrait and landscape orientation, reloading the webview, and opening the DevTools for debugging. - -When the device viewport changes, the Serve Window is resized and will be reloaded to reflect the appropriate device styles, whether iOS or Material Design. - -It is possible to open multiple Serve Windows by using the Play button and choosing _Serve_. This is useful for testing the look and feel on iOS and Android, testing the app on different viewports or orientations, all at the same time. - -#### Debugging - -Clicking the debug button will open a proper instance of the Chrome DevTools for the app. Right-clicking on app features will open a context menu with _Inspect Element_. - -For information on how to use the Chrome DevTools, see the [Chrome DevTools documentation](https://developers.google.com/web/tools/chrome-devtools/). - - - -## Running Apps - -
- Since running an app will install it on an actual native device, some additional setup is required. See the [Native - iOS & Android](setup/native.md) documentation for setup guides. -- -To run an app, click the Play button in the upper right-hand corner of Ionic Studio. Then choose _Run_ from the dropdown. - - - -Choose a platform and a target device, which can be an emulator or hardware device plugged in to your computer. - -With the Live Reload option, Ionic Studio will use the same Dev Server as in _Serve_, which enables quick development while working with actual devices. - -To debug running apps, see the docs for debugging [iOS Apps](../developing/ios.md#debugging-ios-apps) and [Android Apps](../developing/android.md#debugging-android-apps). - -## Installing Apps - -To install a standalone version of an app, use _Run_ and then switch off the _Live Reload_ option. - -This will copy app assets onto the target device or emulator, instead of using a Dev Server, which allows the app to continue working when the device is disconnected from the computer. diff --git a/docs/studio/settings.md b/docs/studio/settings.md deleted file mode 100644 index 3adc2e9bd06..00000000000 --- a/docs/studio/settings.md +++ /dev/null @@ -1,68 +0,0 @@ -# Settings - -Manage app configuration and settings. - -## Config - -The **Config** section is for managing the common settings in `config.xml` such as the name and version of the app, as well as the Bundle ID (aka [Package ID](../reference/glossary.md#package-id)). - - - -## Platforms - -The **Platforms** section is for managing Cordova platforms. Use the appropriate buttons to add, remove, and update platforms. - - - -## Plugins - -The **Plugins** section is for managing Cordova plugins. Use the appropriate buttons to add, remove, and update plugins. - - - -### Installing Plugins - -To install a Cordova plugin, click the **Add** button. The install modal will open, then click **Install** to confirm. If a plugin requires variables, the modal will prompt for them. - -The plugins available for install comprise all [Ionic Native](../native.md) plugins. When a plugin is installed, both the Cordova plugin and the Ionic Native wrapper are installed automatically. - -
-- -- It is not yet possible in Ionic Studio to install Cordova plugins other than those in Ionic Native. This feature is - coming soon! -
-- You can always install the Cordova plugin in the command line by using Project »{' '} - Open in Terminal and following the installation docs for the Cordova plugin. -
-
- Some plugins may require variables that Ionic Studio isn't aware of. In this case, the install will fail. Try - installing the plugin again with the necessary variables and let us know by [reporting the bug](support.md). -- -## Icon & Splash Screen - -The **Icon & Splash Screen** section is for managing app resources. When changing icons and splash screens within Ionic Studio, the appropriate sizes required for the vast collection of device sizes and types will be generated automatically. - -Ionic Studio uses the Ionic CLI command
ionic cordova resources
to generate app resources. More information about icons and splash screens can be found in [the CLI docs](../cli/commands/cordova-resources.md).
-
-
-
-## Linking to Appflow
-
-If your account has access to [Appflow](https://ionic.io/appflow) and you'd like to use it for this app, you can quickly link it with your Appflow account
-in this section of the settings area:
-
-
diff --git a/docs/studio/setup/installation.md b/docs/studio/setup/installation.md
index eb8708c20d8..d9a344ebeec 100644
--- a/docs/studio/setup/installation.md
+++ b/docs/studio/setup/installation.md
@@ -1,17 +1,17 @@
-# Studioのインストール
+# Studio のインストール
-Ionic Studioの最新版のダウンロードはこちらです。 [Ionic Dashboard](https://dashboard.ionicframework.com/personal/downloads).
+Ionic Studio の最新版のダウンロードはこちらです。 [Ionic Dashboard](https://dashboard.ionicframework.com/personal/downloads).
## 必要な環境
-* macOS あるいは Windows 10
-* [Node & npm](../../intro/environment.md#node-npm) がセットアップされている必要があります。
-* オプションとして、バージョン管理のために [Git](../../intro/environment.md#git) をインストール
+- macOS あるいは Windows 10
+- [Node & npm](../../intro/environment.md#node-npm) がセットアップされている必要があります。
+- オプションとして、バージョン管理のために [Git](../../intro/environment.md#git) をインストール
## インストール
-Ionic Studio のダウンロードリンクはIonicダッシュボードの [downloads section](https://dashboard.ionicframework.com/personal/downloads) にあります。
+Ionic Studio のダウンロードリンクは Ionic ダッシュボードの [downloads section](https://dashboard.ionicframework.com/personal/downloads) にあります。
-まずIonic Studioをダウンロードしインストーラーを実行、ウィザードに従います。 Ionic Studioには依存するツールがあり、それらは起動時にインストールやアップデートが自動的に行われます。
+まず Ionic Studio をダウンロードしインストーラーを実行、ウィザードに従います。 Ionic Studio には依存するツールがあり、それらは起動時にインストールやアップデートが自動的に行われます。
-Ionic Studioは新しいバージョンがリリースされると自動的にアップデートされますが、上記ダウンロードリンクよりインストールしなおすことも可能です。
+Ionic Studio は新しいバージョンがリリースされると自動的にアップデートされますが、上記ダウンロードリンクよりインストールしなおすことも可能です。
diff --git a/docs/studio/setup/native.md b/docs/studio/setup/native.md
deleted file mode 100644
index 392c8137d73..00000000000
--- a/docs/studio/setup/native.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# Native iOS & Android
-
-Utilizing native functionality in your app may require additional setup, including:
-
-- Using Cordova Plugins to access Hardware APIs
-- Running the app on hardware or virtual devices
-- Building app binaries
-- Publishing to the App Store or Google Play Store
-
-Follow our native platform setup guides to prepare your environment:
-
-- [iOS Setup](../../developing/ios.md) (macOS only)
-- [Android Setup](../../developing/android.md)
diff --git a/docs/studio/start.md b/docs/studio/start.md
deleted file mode 100644
index ea562de7458..00000000000
--- a/docs/studio/start.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# Getting Started
-
-To create a new Ionic Studio app:
-
-1. Open the New Project modal with **File** » **New Project**. ![Start a New Project with Studio](/img/studio/2/ss-new-project.png)
-2. Supply a name for your app. This can be changed later.
-3. Optionally supply a Bundle ID (aka [Package ID](../reference/glossary.md#package-id)), which is used to identify your app when published. It's okay to leave this blank for now.
-4. Choose the template you'd like to start with. For a demo of Studio on a real app, choose the sample option (note this is intended only as a demo)
-5. Click **Create App**.
-
-## Opening Existing Apps
-
-Ionic Studio supports Ionic Angular 4+ apps. To open an existing app, click "Browse Files" and choose the directory where your app is located.
diff --git a/docs/studio/support.md b/docs/studio/support.md
deleted file mode 100644
index 591c5983d5a..00000000000
--- a/docs/studio/support.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# Support
-
-Support is available within Ionic Studio by clicking **Help & Support** from the account menu, which is opened by clicking the user icon at the top right of Ionic Studio.
-
-If you cannot open Ionic Studio, please open a [support request](https://ionicframework.com/support/request).
-
-
-
-- Please use the **Bugs or Feedback** option for anything related to Ionic Studio as a _product_, such as bugs, feature requests, and general feedback.
-- The **Explore the Docs** option links to these docs for Ionic Studio.
-- Please use the **Account and Billing** option for anything related to your Ionic account, such as billing. This option opens a [support request](https://ionicframework.com/support/request) for Ionic Customer Support.
-
-If your support inquiry relates to Ionic app development in general, we encourage you to join the vibrant Ionic community in the [Ionic Forum](https://forum.ionicframework.com/). More community help options are available on our [Support page](https://ionicframework.com/support/).
diff --git a/docs/studio/terminal.md b/docs/studio/terminal.md
deleted file mode 100644
index 83556ffdde2..00000000000
--- a/docs/studio/terminal.md
+++ /dev/null
@@ -1,36 +0,0 @@
-# Terminal
-
-Ionic Studio has an integrated terminal for running commands within an Ionic app.
-
-## Introduction
-
-:::note
-If you're new to the command line, you can check out [our blog post](https://ionicframework.com/blog/new-to-the-command-line/) on the basics.
-:::
-
-The integrated terminal is a convenient way to perform a quick command line task without navigating folder structures or switching windows. The terminal defaults to the app directory.
-
-Examples of what you can do with the integrated terminal:
-
-- Ionic CLI commands
-- Git operations
-- File operations
-- etc.
-
-## Using the Terminal
-
-To open the terminal, use Ctrl+\`, or click the plus sign in the terminal bar:
-
-
-
-The integrated terminal uses your own configured shell. Configure this on macOS by setting the `SHELL` environment variable.
-
-:::note
-For Windows, `powershell.exe` is used, and this is not yet configurable.
-:::
-
-
diff --git a/docs/studio/theming.md b/docs/studio/theming.md
deleted file mode 100644
index adc47a29e9c..00000000000
--- a/docs/studio/theming.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# Theming
-
-Manage app themes to tweak look and feel.
-
-The Ionic Framework docs have [great documentation](../theming/basics.md) on theming Ionic apps.
-
-## Theme Colors
-
-The color generator within Ionic Studio automatically generates the CSS variables for the color, as well as the associated contrast, shade, and tint colors.
-
-
-
-The changes are available for previewing in your own app in the [Designer](designer.md) canvas.
diff --git a/docs/techniques/security.md b/docs/techniques/security.md
index 4528b69ec18..2bc7a648ac9 100644
--- a/docs/techniques/security.md
+++ b/docs/techniques/security.md
@@ -82,6 +82,10 @@ Ionic Framework provides an application config option called `sanitizerEnabled`
Developers can also choose to eject from the sanitizer in certain scenarios. Ionic Framework provides the `IonicSafeString` class that allows developers to do just that.
+:::note
+In order to bypass the sanitizer and use unsanitized custom HTML in the relevant Ionic components, `innerHTMLTemplatesEnabled` must be set to `true` in the Ionic config. See [Enabling Custom HTML Parsing](#enabling-custom-html-parsing-via-innerhtml) for more information.
+:::
+
#### Usage
````mdx-code-block
@@ -156,3 +160,53 @@ export const ToastExample: React.FC = () => {
````
+
+## Content Security Policies (CSP)
+
+A [Content Security Policy (CSP)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP) is a security mechanism that helps protect web applications against certain types of attacks, such as cross-site scripting (XSS) and data injection. It is implemented through an HTTP header that instructs the browser on which sources of content, such as scripts, stylesheets, and images, are allowed to be loaded and executed on a web page.
+
+The main purpose of a CSP is to mitigate the risks associated with code injection attacks. By defining a policy, web developers can specify from which domains or sources the browser should allow the loading and execution of various types of content. This effectively limits the potential damage that can be caused by malicious scripts or unauthorized content.
+
+### Enabling CSPs
+
+Developers can assign a CSP to their application by setting a meta tag with the policy details and the expected nonce value on script and style tags.
+
+```html
+
+```
+
+### Ionic and CSP
+
+Ionic Framework provides a function to help developers set the nonce value used when constructing the web component stylesheets. This function should be called before any Ionic components are loaded. This is required to pass the nonce value to the web components so that they can be used in a CSP environment.
+
+```ts
+import { setNonce } from '@ionic/core/loader';
+
+setNonce('randomNonceGoesHere');
+```
+
+:::tip
+
+In Angular this can be called in the `main.ts` file, before the application is bootstrapped.
+
+:::
+
+For more information on how to use CSPs with Stencil web components, see the [Stencil documentation](https://stenciljs.com/docs/csp-nonce).
+
+### Angular
+
+Starting in Angular 16, Angular provides two options for setting the nonce value.
+
+1. Set the `ngCspNonce` attribute on the root application element as `+ + Vendor prefixed + + 擬似要素は現時点ではサポートされていません。この例としては、 `::-webkit-scrollbar` 擬似要素があります: pseudo-elements: +
```css /* Does NOT work */ @@ -134,11 +139,11 @@ my-component::part(scroll)::-webkit-scrollbar { } ``` -詳しくは GitHubのIssue をご覧ください。 +詳しくは GitHub の Issue をご覧ください。 ### 構造的な擬似クラス -ほとんどの擬似クラスはPartsでサポートされていますが、構造的な擬似クラスはサポートされていません。動作しない構造的擬似クラスの例を以下に示します。 +ほとんどの擬似クラスは Parts でサポートされていますが、構造的な擬似クラスはサポートされていません。動作しない構造的擬似クラスの例を以下に示します。 ```css /* Does NOT work */ @@ -152,10 +157,10 @@ my-component::part(container):last-child { } ``` -### Partsの連結 +### Parts の連結 擬似要素 `::part()` は追加の `::part()` にマッチすることができません。 例えば、`my-component::part(button)::part(label)`は何もマッチしません。これは、そうすることで意図した以上の構造的な情報を露出してしまうからです。 -もし `This is modal content
-