diff --git a/404.html b/404.html index 448a634..d3141a0 100644 --- a/404.html +++ b/404.html @@ -4,8 +4,8 @@ Panels Guides - - + +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

diff --git a/FAQs/general-faqs.html b/FAQs/general-faqs.html index 4ea8d82..7ef3e5e 100644 --- a/FAQs/general-faqs.html +++ b/FAQs/general-faqs.html @@ -4,12 +4,12 @@ General | Panels Guides - - + +
Skip to main content
+

Yes, you can choose any of the 11 available languages. Read our guide for more info.

\ No newline at end of file diff --git a/FAQs/library-faqs.html b/FAQs/library-faqs.html index c3b7d16..a3c79cd 100644 --- a/FAQs/library-faqs.html +++ b/FAQs/library-faqs.html @@ -4,8 +4,8 @@ Content and library | Panels Guides - - + +
Skip to main content

Content and library

@@ -14,6 +14,6 @@

How to sync content

The 2 main ways to have your content synced between devices are iCloud Drive and OPDS server.

Does content lock just lock everything or is there a way to lock only some folders?

-

You can long press on a single comic or folder and just lock that content. It will appear blurred and will require a password to open. Also, the folder/file locked in Panels is hidden from the file system. Just in case you lock something and then you can't find it through Files.app. It's there, but not visible.

+

You can long press on a single comic or folder and just lock that content. It will appear blurred and will require a password to open. Also, the folder/file locked in Panels is hidden from the file system. Just in case you lock something and then you can't find it through Files.app. It's there, but not visible.

\ No newline at end of file diff --git a/FAQs/opds-faqs.html b/FAQs/opds-faqs.html index a737326..a7b81f0 100644 --- a/FAQs/opds-faqs.html +++ b/FAQs/opds-faqs.html @@ -4,11 +4,11 @@ OPDS | Panels Guides - - + +
Skip to main content
+

// add questions

\ No newline at end of file diff --git a/FAQs/premium-faqs.html b/FAQs/premium-faqs.html index cdab4de..71223d4 100644 --- a/FAQs/premium-faqs.html +++ b/FAQs/premium-faqs.html @@ -4,8 +4,8 @@ Purchases and Subscriptions | Panels Guides - - + +
Skip to main content

Purchases and Subscriptions

@@ -17,6 +17,6 @@

Can I share Panels purchases with my family members?

Yes you can, all of our purchases have family sharing enabled.

I removed Panels and lost my Premium access. How can I get it back? Do I need to pay again?

-

No need to pay again. In the purchase screen, tap "Redeem purchases". If any problem occurs, please contact us at support@panels.app

+

No need to pay again. In the purchase screen, tap "Redeem purchases". If any problem occurs, please contact us at support@panels.app

\ No newline at end of file diff --git a/FAQs/readers-faqs.html b/FAQs/readers-faqs.html index 336b218..4c71e8f 100644 --- a/FAQs/readers-faqs.html +++ b/FAQs/readers-faqs.html @@ -4,8 +4,8 @@ Readers | Panels Guides - - + +
Skip to main content

Readers

@@ -15,6 +15,6 @@

Can I sha

Yes. From the pages horizontal carousel, you can long press on a page to share.

How to use “Continue reading”

Continue reading works for files within the same folder. Once you reach the end, you can continue scrolling to jump to the next title.

-
note

At this moment, continue reading does not work while streaming OPDS. This will be introduced when OPDS 2.0 is finally released and adopted both from Panels and from OPDS servers.

+
note

At this moment, continue reading does not work while streaming OPDS. This will be introduced when OPDS 2.0 is finally released and adopted both from Panels and from OPDS servers.

\ No newline at end of file diff --git a/assets/js/3c38b23d.b167c854.js b/assets/js/3c38b23d.b167c854.js new file mode 100644 index 0000000..5257f9b --- /dev/null +++ b/assets/js/3c38b23d.b167c854.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[489],{39:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>l,contentTitle:()=>s,default:()=>p,frontMatter:()=>r,metadata:()=>a,toc:()=>c});var t=i(4848),o=i(8453);const r={sidebar_position:2},s="Files app and iOS mechanisms",a={id:"import-content/files-app",title:"Files app and iOS mechanisms",description:"Panels tries to be a good iOS platform citizen and is compatible with multiple iOS methods for importing methods.",source:"@site/docs/import-content/files-app.md",sourceDirName:"import-content",slug:"/import-content/files-app",permalink:"/import-content/files-app",draft:!1,unlisted:!1,editUrl:"https://github.com/Produkt/panels-guides/docs/import-content/files-app.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Supported files",permalink:"/import-content/supported-files"},next:{title:"Custom import services",permalink:"/import-content/import-services"}},l={},c=[{value:"Mac to iOS device",id:"mac-to-ios-device",level:2},{value:"Web server",id:"web-server",level:3},{value:"Airdrop",id:"airdrop",level:3},{value:"Cable",id:"cable",level:3},{value:"Content already in your device",id:"content-already-in-your-device",level:2},{value:"Working with Files app",id:"files-app",level:2}];function d(e){const n={a:"a",admonition:"admonition",h1:"h1",h2:"h2",h3:"h3",img:"img",p:"p",...(0,o.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{id:"files-app-and-ios-mechanisms",children:"Files app and iOS mechanisms"}),"\n",(0,t.jsx)(n.p,{children:"Panels tries to be a good iOS platform citizen and is compatible with multiple iOS methods for importing methods."}),"\n",(0,t.jsx)(n.h2,{id:"mac-to-ios-device",children:"Mac to iOS device"}),"\n",(0,t.jsx)(n.p,{children:"If you have comics stored in your Mac you have a few options."}),"\n",(0,t.jsx)(n.h3,{id:"web-server",children:"Web server"}),"\n",(0,t.jsx)(n.p,{children:"Web Server option will start a server from your iOS device. Once the server is started, you can access that URL from your computer (as long as both devices are on the same wifi), and drop files there to send them to your iOS device."}),"\n",(0,t.jsx)(n.p,{children:'To start a session, go to Library -> back to content, then tap Web Server. After tapping "start server" a URL will be displayed. Use that URL on your mac browser.'}),"\n",(0,t.jsx)(n.h3,{id:"airdrop",children:"Airdrop"}),"\n",(0,t.jsx)(n.p,{children:"You can select multiple files and airdrop from your Mac to your iPhone (or between iOS devices)."}),"\n",(0,t.jsxs)(n.p,{children:["Airdrop changed recently on iOS 17 and it no longer asks with which app to open files, it puts them directly in Files app. Scroll down to ",(0,t.jsx)(n.a,{href:"#files-app",children:"working with Files app"})," to know how to move your content to Panels."]}),"\n",(0,t.jsx)(n.h3,{id:"cable",children:"Cable"}),"\n",(0,t.jsx)(n.p,{children:"Connect your iOS device to your Mac and open Finder. Your device should appear on the left panel, under Locations."}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{alt:"finder app showing panels content",src:i(8609).A+"",width:"2064",height:"1240"})}),"\n",(0,t.jsx)(n.p,{children:"Select it, and navigate to Files. Scroll down the list of apps until you find Panels. Drag & drop your files to copy them to your device. Panels will show up the files once it finishes indexing the folder."}),"\n",(0,t.jsxs)(n.p,{children:["Each folder represents a collection, you can drag folders containing other folders as well as individual comic files. Make sure to check ",(0,t.jsx)(n.a,{href:"/import-content/supported-files",children:"which files are supported"}),"."]}),"\n",(0,t.jsx)(n.admonition,{type:"tip",children:(0,t.jsxs)(n.p,{children:["If your iOS device free storage is low, consider ",(0,t.jsx)(n.a,{href:"/import-content/icloud-drive",children:"iCloud Drive"})," or ",(0,t.jsx)(n.a,{href:"/import-content/opds",children:"storing content in your server"}),"."]})}),"\n",(0,t.jsx)(n.h2,{id:"content-already-in-your-device",children:"Content already in your device"}),"\n",(0,t.jsx)(n.p,{children:"If your content is already in your iOS device (downloaded from Safari, contained in another app, etc.) you can use any iOS mechanism to bring content into Panels."}),"\n",(0,t.jsxs)(n.p,{children:["The easiest way will probably be using ",(0,t.jsx)(n.a,{href:"#files-app",children:"Files app"})," which comes pre-installed in every iOS device."]}),"\n",(0,t.jsx)(n.p,{children:'Otherwise, you can use "share" (usually represented with an arrow pointing up on a square) or Drag&Drop. Drag&Drop will be easier on an iPad, since you can put 2 apps side-by-side and just drag the content into Panels. On iPhone it is possible, you just need 2 hands (one to keep the content you are moving under your finger, the other to navigate to Panels).'}),"\n",(0,t.jsx)(n.h2,{id:"files-app",children:"Working with Files app"}),"\n",(0,t.jsx)(n.p,{children:'Files app is like "finder" for iOS devices. Moving content in Files app is easy, you just need to locate the content you want to move and know where to drop it.'}),"\n",(0,t.jsx)(n.p,{children:"First, locate your content. It might be in the Downloads folder, or in another app's folder if you are migrating from another reading app."}),"\n",(0,t.jsx)(n.p,{children:'Select one file by long pressing, or tap the "..." top right button and tap select to enable multi-selection.'}),"\n",(0,t.jsx)(n.p,{children:"Once the content is selected, you can either copy or move. Copy will keep the content where it is, essentially duplicating it when you paste it, so be aware of storage."}),"\n",(0,t.jsx)(n.p,{children:"Now let's paste/move the content to Panels folder. Still inside Files app, go back until to root screen called Browse. Tap \"on my iPhone/iPad\" and find a folder called Panels (with the Panels logo). This is your main library root folder (what you see when you open Panels' main library).\nPanels represents folders as collections. You can use Files app to modify content, move, paste, etc."}),"\n",(0,t.jsx)(n.p,{children:'Find the collection you want and paste the content ("..." top right button, paste), or move it here.'}),"\n",(0,t.jsx)(n.p,{children:"Panels will re-index the library to reflect those changes."}),"\n",(0,t.jsx)(n.admonition,{type:"tip",children:(0,t.jsxs)(n.p,{children:["You can have ",(0,t.jsx)(n.a,{href:"/organize-content/multiple-libraries",children:"more than one library"}),". You can also have your library ",(0,t.jsx)(n.a,{href:"/import-content/icloud-drive",children:"synced with iCloud Drive"}),"."]})})]})}function p(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},8609:(e,n,i)=>{i.d(n,{A:()=>t});const t=i.p+"assets/images/finder-panels-content-fbd613e06d9b00b130bf0a69465d9080.png"},8453:(e,n,i)=>{i.d(n,{R:()=>s,x:()=>a});var t=i(6540);const o={},r=t.createContext(o);function s(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3c38b23d.b49beec9.js b/assets/js/3c38b23d.b49beec9.js deleted file mode 100644 index ca1c1c7..0000000 --- a/assets/js/3c38b23d.b49beec9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[489],{39:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>l,contentTitle:()=>s,default:()=>p,frontMatter:()=>r,metadata:()=>a,toc:()=>c});var t=i(4848),o=i(8453);const r={sidebar_position:2},s="Files app and iOS mechanisms",a={id:"import-content/files-app",title:"Files app and iOS mechanisms",description:"Panels tries to be a good iOS platform citizen and is compatible with multiple iOS methods for importing methods.",source:"@site/docs/import-content/files-app.md",sourceDirName:"import-content",slug:"/import-content/files-app",permalink:"/import-content/files-app",draft:!1,unlisted:!1,editUrl:"https://github.com/Produkt/panels-guides/tree/main/packages/create-docusaurus/templates/shared/docs/import-content/files-app.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Supported files",permalink:"/import-content/supported-files"},next:{title:"Custom import services",permalink:"/import-content/import-services"}},l={},c=[{value:"Mac to iOS device",id:"mac-to-ios-device",level:2},{value:"Web server",id:"web-server",level:3},{value:"Airdrop",id:"airdrop",level:3},{value:"Cable",id:"cable",level:3},{value:"Content already in your device",id:"content-already-in-your-device",level:2},{value:"Working with Files app",id:"files-app",level:2}];function d(e){const n={a:"a",admonition:"admonition",h1:"h1",h2:"h2",h3:"h3",img:"img",p:"p",...(0,o.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{id:"files-app-and-ios-mechanisms",children:"Files app and iOS mechanisms"}),"\n",(0,t.jsx)(n.p,{children:"Panels tries to be a good iOS platform citizen and is compatible with multiple iOS methods for importing methods."}),"\n",(0,t.jsx)(n.h2,{id:"mac-to-ios-device",children:"Mac to iOS device"}),"\n",(0,t.jsx)(n.p,{children:"If you have comics stored in your Mac you have a few options."}),"\n",(0,t.jsx)(n.h3,{id:"web-server",children:"Web server"}),"\n",(0,t.jsx)(n.p,{children:"Web Server option will start a server from your iOS device. Once the server is started, you can access that URL from your computer (as long as both devices are on the same wifi), and drop files there to send them to your iOS device."}),"\n",(0,t.jsx)(n.p,{children:'To start a session, go to Library -> back to content, then tap Web Server. After tapping "start server" a URL will be displayed. Use that URL on your mac browser.'}),"\n",(0,t.jsx)(n.h3,{id:"airdrop",children:"Airdrop"}),"\n",(0,t.jsx)(n.p,{children:"You can select multiple files and airdrop from your Mac to your iPhone (or between iOS devices)."}),"\n",(0,t.jsxs)(n.p,{children:["Airdrop changed recently on iOS 17 and it no longer asks with which app to open files, it puts them directly in Files app. Scroll down to ",(0,t.jsx)(n.a,{href:"#files-app",children:"working with Files app"})," to know how to move your content to Panels."]}),"\n",(0,t.jsx)(n.h3,{id:"cable",children:"Cable"}),"\n",(0,t.jsx)(n.p,{children:"Connect your iOS device to your Mac and open Finder. Your device should appear on the left panel, under Locations."}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{alt:"finder app showing panels content",src:i(8609).A+"",width:"2064",height:"1240"})}),"\n",(0,t.jsx)(n.p,{children:"Select it, and navigate to Files. Scroll down the list of apps until you find Panels. Drag & drop your files to copy them to your device. Panels will show up the files once it finishes indexing the folder."}),"\n",(0,t.jsxs)(n.p,{children:["Each folder represents a collection, you can drag folders containing other folders as well as individual comic files. Make sure to check ",(0,t.jsx)(n.a,{href:"/import-content/supported-files",children:"which files are supported"}),"."]}),"\n",(0,t.jsx)(n.admonition,{type:"tip",children:(0,t.jsxs)(n.p,{children:["If your iOS device free storage is low, consider ",(0,t.jsx)(n.a,{href:"/import-content/icloud-drive",children:"iCloud Drive"})," or ",(0,t.jsx)(n.a,{href:"/import-content/opds",children:"storing content in your server"}),"."]})}),"\n",(0,t.jsx)(n.h2,{id:"content-already-in-your-device",children:"Content already in your device"}),"\n",(0,t.jsx)(n.p,{children:"If your content is already in your iOS device (downloaded from Safari, contained in another app, etc.) you can use any iOS mechanism to bring content into Panels."}),"\n",(0,t.jsxs)(n.p,{children:["The easiest way will probably be using ",(0,t.jsx)(n.a,{href:"#files-app",children:"Files app"})," which comes pre-installed in every iOS device."]}),"\n",(0,t.jsx)(n.p,{children:'Otherwise, you can use "share" (usually represented with an arrow pointing up on a square) or Drag&Drop. Drag&Drop will be easier on an iPad, since you can put 2 apps side-by-side and just drag the content into Panels. On iPhone it is possible, you just need 2 hands (one to keep the content you are moving under your finger, the other to navigate to Panels).'}),"\n",(0,t.jsx)(n.h2,{id:"files-app",children:"Working with Files app"}),"\n",(0,t.jsx)(n.p,{children:'Files app is like "finder" for iOS devices. Moving content in Files app is easy, you just need to locate the content you want to move and know where to drop it.'}),"\n",(0,t.jsx)(n.p,{children:"First, locate your content. It might be in the Downloads folder, or in another app's folder if you are migrating from another reading app."}),"\n",(0,t.jsx)(n.p,{children:'Select one file by long pressing, or tap the "..." top right button and tap select to enable multi-selection.'}),"\n",(0,t.jsx)(n.p,{children:"Once the content is selected, you can either copy or move. Copy will keep the content where it is, essentially duplicating it when you paste it, so be aware of storage."}),"\n",(0,t.jsx)(n.p,{children:"Now let's paste/move the content to Panels folder. Still inside Files app, go back until to root screen called Browse. Tap \"on my iPhone/iPad\" and find a folder called Panels (with the Panels logo). This is your main library root folder (what you see when you open Panels' main library).\nPanels represents folders as collections. You can use Files app to modify content, move, paste, etc."}),"\n",(0,t.jsx)(n.p,{children:'Find the collection you want and paste the content ("..." top right button, paste), or move it here.'}),"\n",(0,t.jsx)(n.p,{children:"Panels will re-index the library to reflect those changes."}),"\n",(0,t.jsx)(n.admonition,{type:"tip",children:(0,t.jsxs)(n.p,{children:["You can have ",(0,t.jsx)(n.a,{href:"/organize-content/multiple-libraries",children:"more than one library"}),". You can also have your library ",(0,t.jsx)(n.a,{href:"/import-content/icloud-drive",children:"synced with iCloud Drive"}),"."]})})]})}function p(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},8609:(e,n,i)=>{i.d(n,{A:()=>t});const t=i.p+"assets/images/finder-panels-content-fbd613e06d9b00b130bf0a69465d9080.png"},8453:(e,n,i)=>{i.d(n,{R:()=>s,x:()=>a});var t=i(6540);const o={},r=t.createContext(o);function s(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/400afbb9.7ea010e7.js b/assets/js/400afbb9.7ea010e7.js new file mode 100644 index 0000000..eed5b26 --- /dev/null +++ b/assets/js/400afbb9.7ea010e7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[333],{9122:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>r,default:()=>d,frontMatter:()=>s,metadata:()=>p,toc:()=>l});var o=n(4848),i=n(8453);const s={sidebar_position:1},r="Supported files",p={id:"import-content/supported-files",title:"Supported files",description:"Panels supports the following formats:",source:"@site/docs/import-content/supported-files.md",sourceDirName:"import-content",slug:"/import-content/supported-files",permalink:"/import-content/supported-files",draft:!1,unlisted:!1,editUrl:"https://github.com/Produkt/panels-guides/docs/import-content/supported-files.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Importing content",permalink:"/category/importing-content"},next:{title:"Files app and iOS mechanisms",permalink:"/import-content/files-app"}},c={},l=[];function a(t){const e={admonition:"admonition",h1:"h1",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...t.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.h1,{id:"supported-files",children:"Supported files"}),"\n",(0,o.jsx)(e.p,{children:"Panels supports the following formats:"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsx)(e.li,{children:"cbz (zip)"}),"\n",(0,o.jsx)(e.li,{children:"cbr (rar)"}),"\n",(0,o.jsx)(e.li,{children:"cb7 (7z)"}),"\n",(0,o.jsx)(e.li,{children:"pdf"}),"\n",(0,o.jsx)(e.li,{children:"comic ePUBs*"}),"\n"]}),"\n",(0,o.jsx)(e.p,{children:"Container files (like cbz/cbr/cb7) can contain jpg, png and webp files."}),"\n",(0,o.jsx)(e.admonition,{type:"info",children:(0,o.jsxs)(e.p,{children:[(0,o.jsx)(e.strong,{children:"Comic ePUBs"}),": Panels can open epub files but will warn you when trying to open a text ePUB. We do not support text formatting, our app's main focus is on image-based books, so don't expect support for text books."]})})]})}function d(t={}){const{wrapper:e}={...(0,i.R)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(a,{...t})}):a(t)}},8453:(t,e,n)=>{n.d(e,{R:()=>r,x:()=>p});var o=n(6540);const i={},s=o.createContext(i);function r(t){const e=o.useContext(s);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function p(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(i):t.components||i:r(t.components),o.createElement(s.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/400afbb9.80bb046e.js b/assets/js/400afbb9.80bb046e.js deleted file mode 100644 index 1be890f..0000000 --- a/assets/js/400afbb9.80bb046e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[333],{9122:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>d,frontMatter:()=>s,metadata:()=>p,toc:()=>l});var o=n(4848),i=n(8453);const s={sidebar_position:1},r="Supported files",p={id:"import-content/supported-files",title:"Supported files",description:"Panels supports the following formats:",source:"@site/docs/import-content/supported-files.md",sourceDirName:"import-content",slug:"/import-content/supported-files",permalink:"/import-content/supported-files",draft:!1,unlisted:!1,editUrl:"https://github.com/Produkt/panels-guides/tree/main/packages/create-docusaurus/templates/shared/docs/import-content/supported-files.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Importing content",permalink:"/category/importing-content"},next:{title:"Files app and iOS mechanisms",permalink:"/import-content/files-app"}},c={},l=[];function a(e){const t={admonition:"admonition",h1:"h1",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h1,{id:"supported-files",children:"Supported files"}),"\n",(0,o.jsx)(t.p,{children:"Panels supports the following formats:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"cbz (zip)"}),"\n",(0,o.jsx)(t.li,{children:"cbr (rar)"}),"\n",(0,o.jsx)(t.li,{children:"cb7 (7z)"}),"\n",(0,o.jsx)(t.li,{children:"pdf"}),"\n",(0,o.jsx)(t.li,{children:"comic ePUBs*"}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"Container files (like cbz/cbr/cb7) can contain jpg, png and webp files."}),"\n",(0,o.jsx)(t.admonition,{type:"info",children:(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Comic ePUBs"}),": Panels can open epub files but will warn you when trying to open a text ePUB. We do not support text formatting, our app's main focus is on image-based books, so don't expect support for text books."]})})]})}function d(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(a,{...e})}):a(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>p});var o=n(6540);const i={},s=o.createContext(i);function r(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function p(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4c015006.d113c86b.js b/assets/js/4c015006.d113c86b.js deleted file mode 100644 index a58ff5f..0000000 --- a/assets/js/4c015006.d113c86b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[916],{8398:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>p,frontMatter:()=>r,metadata:()=>a,toc:()=>c});var n=s(4848),o=s(8453);const r={sidebar_position:4},i="OPDS",a={id:"FAQs/opds-faqs",title:"OPDS",description:"// add questions",source:"@site/docs/FAQs/opds-faqs.md",sourceDirName:"FAQs",slug:"/FAQs/opds-faqs",permalink:"/FAQs/opds-faqs",draft:!1,unlisted:!1,editUrl:"https://github.com/Produkt/panels-guides/tree/main/packages/create-docusaurus/templates/shared/docs/FAQs/opds-faqs.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Content and library",permalink:"/FAQs/library-faqs"},next:{title:"General",permalink:"/FAQs/general-faqs"}},d={},c=[];function u(e){const t={h1:"h1",p:"p",...(0,o.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h1,{id:"opds",children:"OPDS"}),"\n",(0,n.jsx)(t.p,{children:"// add questions"})]})}function p(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},8453:(e,t,s)=>{s.d(t,{R:()=>i,x:()=>a});var n=s(6540);const o={},r=n.createContext(o);function i(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4c015006.fdecb80f.js b/assets/js/4c015006.fdecb80f.js new file mode 100644 index 0000000..17089ee --- /dev/null +++ b/assets/js/4c015006.fdecb80f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[916],{8398:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>p,frontMatter:()=>r,metadata:()=>a,toc:()=>c});var n=s(4848),o=s(8453);const r={sidebar_position:4},i="OPDS",a={id:"FAQs/opds-faqs",title:"OPDS",description:"// add questions",source:"@site/docs/FAQs/opds-faqs.md",sourceDirName:"FAQs",slug:"/FAQs/opds-faqs",permalink:"/FAQs/opds-faqs",draft:!1,unlisted:!1,editUrl:"https://github.com/Produkt/panels-guides/docs/FAQs/opds-faqs.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Content and library",permalink:"/FAQs/library-faqs"},next:{title:"General",permalink:"/FAQs/general-faqs"}},d={},c=[];function u(e){const t={h1:"h1",p:"p",...(0,o.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h1,{id:"opds",children:"OPDS"}),"\n",(0,n.jsx)(t.p,{children:"// add questions"})]})}function p(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},8453:(e,t,s)=>{s.d(t,{R:()=>i,x:()=>a});var n=s(6540);const o={},r=n.createContext(o);function i(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5578039c.32743a22.js b/assets/js/5578039c.32743a22.js deleted file mode 100644 index 2a7e7f6..0000000 --- a/assets/js/5578039c.32743a22.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[27],{3215:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>m,frontMatter:()=>s,metadata:()=>r,toc:()=>d});var i=t(4848),o=t(8453);const s={sidebar_position:1},c="Moving to a new device",r={id:"misc/moving-to-new-device",title:"Moving to a new device",description:"//TODO",source:"@site/docs/misc/moving-to-new-device.md",sourceDirName:"misc",slug:"/misc/moving-to-new-device",permalink:"/misc/moving-to-new-device",draft:!1,unlisted:!1,editUrl:"https://github.com/Produkt/panels-guides/tree/main/packages/create-docusaurus/templates/shared/docs/misc/moving-to-new-device.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Miscelaneous",permalink:"/category/miscelaneous"},next:{title:"Changing app languange",permalink:"/misc/change-app-language"}},a={},d=[];function u(e){const n={h1:"h1",p:"p",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"moving-to-a-new-device",children:"Moving to a new device"}),"\n",(0,i.jsx)(n.p,{children:"//TODO"})]})}function m(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>c,x:()=>r});var i=t(6540);const o={},s=i.createContext(o);function c(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:c(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5578039c.a06cedcd.js b/assets/js/5578039c.a06cedcd.js new file mode 100644 index 0000000..65a6458 --- /dev/null +++ b/assets/js/5578039c.a06cedcd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[27],{3215:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>m,frontMatter:()=>s,metadata:()=>r,toc:()=>d});var i=t(4848),o=t(8453);const s={sidebar_position:1},c="Moving to a new device",r={id:"misc/moving-to-new-device",title:"Moving to a new device",description:"//TODO",source:"@site/docs/misc/moving-to-new-device.md",sourceDirName:"misc",slug:"/misc/moving-to-new-device",permalink:"/misc/moving-to-new-device",draft:!1,unlisted:!1,editUrl:"https://github.com/Produkt/panels-guides/docs/misc/moving-to-new-device.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Miscelaneous",permalink:"/category/miscelaneous"},next:{title:"Changing app languange",permalink:"/misc/change-app-language"}},a={},d=[];function u(e){const n={h1:"h1",p:"p",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"moving-to-a-new-device",children:"Moving to a new device"}),"\n",(0,i.jsx)(n.p,{children:"//TODO"})]})}function m(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>c,x:()=>r});var i=t(6540);const o={},s=i.createContext(o);function c(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:c(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/61c5e07b.8968a751.js b/assets/js/61c5e07b.8968a751.js new file mode 100644 index 0000000..1f1d626 --- /dev/null +++ b/assets/js/61c5e07b.8968a751.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[592],{2463:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>g,frontMatter:()=>a,metadata:()=>r,toc:()=>l});var i=s(4848),t=s(8453);const a={},o="Syncing reading sessions",r={id:"misc/sync-reading-sessions",title:"Syncing reading sessions",description:"Panels keeps track of your progress for each individual file, as well as time spent reading, and many other things like default reading preset for each comic file.",source:"@site/docs/misc/sync-reading-sessions.md",sourceDirName:"misc",slug:"/misc/sync-reading-sessions",permalink:"/misc/sync-reading-sessions",draft:!1,unlisted:!1,editUrl:"https://github.com/Produkt/panels-guides/docs/misc/sync-reading-sessions.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Changing app languange",permalink:"/misc/change-app-language"},next:{title:"FAQs",permalink:"/category/faqs"}},c={},l=[];function d(e){const n={h1:"h1",p:"p",strong:"strong",...(0,t.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"syncing-reading-sessions",children:"Syncing reading sessions"}),"\n",(0,i.jsx)(n.p,{children:"Panels keeps track of your progress for each individual file, as well as time spent reading, and many other things like default reading preset for each comic file."}),"\n",(0,i.jsxs)(n.p,{children:["This is what we call ",(0,i.jsx)(n.strong,{children:"Reading Sessions"}),". Reading sessions are synced automatically to your Panels account. Make sure you log in with the same account in all your devices -- that's it."]}),"\n",(0,i.jsx)(n.p,{children:"To do that, head to the app settings, and tap on the first row. Use either google or apple sign in."}),"\n",(0,i.jsx)("img",{src:"/img/sign-in-panels.PNG",alt:"iPhone showing panels settings",style:{width:400}}),"\n",(0,i.jsx)("img",{src:"/img/panels-account.PNG",alt:"iPhone showing log in with your panels account",style:{width:400}}),"\n",(0,i.jsx)(n.p,{children:"We also use that information to drive the Reading now tab."})]})}function g(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},8453:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>r});var i=s(6540);const t={},a=i.createContext(t);function o(e){const n=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),i.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/61c5e07b.ca46a308.js b/assets/js/61c5e07b.ca46a308.js deleted file mode 100644 index 202cc73..0000000 --- a/assets/js/61c5e07b.ca46a308.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[592],{2463:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>c,contentTitle:()=>o,default:()=>g,frontMatter:()=>a,metadata:()=>r,toc:()=>l});var t=n(4848),i=n(8453);const a={},o="Syncing reading sessions",r={id:"misc/sync-reading-sessions",title:"Syncing reading sessions",description:"Panels keeps track of your progress for each individual file, as well as time spent reading, and many other things like default reading preset for each comic file.",source:"@site/docs/misc/sync-reading-sessions.md",sourceDirName:"misc",slug:"/misc/sync-reading-sessions",permalink:"/misc/sync-reading-sessions",draft:!1,unlisted:!1,editUrl:"https://github.com/Produkt/panels-guides/tree/main/packages/create-docusaurus/templates/shared/docs/misc/sync-reading-sessions.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Changing app languange",permalink:"/misc/change-app-language"},next:{title:"FAQs",permalink:"/category/faqs"}},c={},l=[];function d(e){const s={h1:"h1",p:"p",strong:"strong",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.h1,{id:"syncing-reading-sessions",children:"Syncing reading sessions"}),"\n",(0,t.jsx)(s.p,{children:"Panels keeps track of your progress for each individual file, as well as time spent reading, and many other things like default reading preset for each comic file."}),"\n",(0,t.jsxs)(s.p,{children:["This is what we call ",(0,t.jsx)(s.strong,{children:"Reading Sessions"}),". Reading sessions are synced automatically to your Panels account. Make sure you log in with the same account in all your devices -- that's it."]}),"\n",(0,t.jsx)(s.p,{children:"To do that, head to the app settings, and tap on the first row. Use either google or apple sign in."}),"\n",(0,t.jsx)("img",{src:"/img/sign-in-panels.PNG",alt:"iPhone showing panels settings",style:{width:400}}),"\n",(0,t.jsx)("img",{src:"/img/panels-account.PNG",alt:"iPhone showing log in with your panels account",style:{width:400}}),"\n",(0,t.jsx)(s.p,{children:"We also use that information to drive the Reading now tab."})]})}function g(e={}){const{wrapper:s}={...(0,i.R)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},8453:(e,s,n)=>{n.d(s,{R:()=>o,x:()=>r});var t=n(6540);const i={},a=t.createContext(i);function o(e){const s=t.useContext(a);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),t.createElement(a.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6c487d36.57b2e989.js b/assets/js/6c487d36.57b2e989.js new file mode 100644 index 0000000..3c0f87f --- /dev/null +++ b/assets/js/6c487d36.57b2e989.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[752],{7278:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>r,metadata:()=>i,toc:()=>l});var t=a(4848),s=a(8453);const r={sidebar_position:5},o="General",i={id:"FAQs/general-faqs",title:"General",description:"Can I change the app language?",source:"@site/docs/FAQs/general-faqs.md",sourceDirName:"FAQs",slug:"/FAQs/general-faqs",permalink:"/FAQs/general-faqs",draft:!1,unlisted:!1,editUrl:"https://github.com/Produkt/panels-guides/docs/FAQs/general-faqs.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"tutorialSidebar",previous:{title:"OPDS",permalink:"/FAQs/opds-faqs"}},c={},l=[{value:"Can I change the app language?",id:"can-i-change-the-app-language",level:3}];function u(e){const n={a:"a",h1:"h1",h3:"h3",p:"p",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{id:"general",children:"General"}),"\n",(0,t.jsx)(n.h3,{id:"can-i-change-the-app-language",children:"Can I change the app language?"}),"\n",(0,t.jsxs)(n.p,{children:["Yes, you can choose any of the 11 available languages. ",(0,t.jsx)(n.a,{href:"/misc/change-app-language",children:"Read our guide for more info"}),"."]})]})}function p(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(u,{...e})}):u(e)}},8453:(e,n,a)=>{a.d(n,{R:()=>o,x:()=>i});var t=a(6540);const s={},r=t.createContext(s);function o(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6c487d36.fe3f3564.js b/assets/js/6c487d36.fe3f3564.js deleted file mode 100644 index 896ce43..0000000 --- a/assets/js/6c487d36.fe3f3564.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[752],{7278:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>r,metadata:()=>i,toc:()=>l});var t=a(4848),s=a(8453);const r={sidebar_position:5},o="General",i={id:"FAQs/general-faqs",title:"General",description:"Can I change the app language?",source:"@site/docs/FAQs/general-faqs.md",sourceDirName:"FAQs",slug:"/FAQs/general-faqs",permalink:"/FAQs/general-faqs",draft:!1,unlisted:!1,editUrl:"https://github.com/Produkt/panels-guides/tree/main/packages/create-docusaurus/templates/shared/docs/FAQs/general-faqs.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"tutorialSidebar",previous:{title:"OPDS",permalink:"/FAQs/opds-faqs"}},c={},l=[{value:"Can I change the app language?",id:"can-i-change-the-app-language",level:3}];function u(e){const n={a:"a",h1:"h1",h3:"h3",p:"p",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{id:"general",children:"General"}),"\n",(0,t.jsx)(n.h3,{id:"can-i-change-the-app-language",children:"Can I change the app language?"}),"\n",(0,t.jsxs)(n.p,{children:["Yes, you can choose any of the 11 available languages. ",(0,t.jsx)(n.a,{href:"/misc/change-app-language",children:"Read our guide for more info"}),"."]})]})}function p(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(u,{...e})}):u(e)}},8453:(e,n,a)=>{a.d(n,{R:()=>o,x:()=>i});var t=a(6540);const s={},r=t.createContext(s);function o(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6d1b5e98.540d62a7.js b/assets/js/6d1b5e98.540d62a7.js deleted file mode 100644 index 39da4f3..0000000 --- a/assets/js/6d1b5e98.540d62a7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[997],{8818:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>c,contentTitle:()=>i,default:()=>l,frontMatter:()=>s,metadata:()=>a,toc:()=>u});var n=t(4848),r=t(8453);const s={sidebar_position:5},i="OPDS: Your own server",a={id:"import-content/opds",title:"OPDS: Your own server",description:"If you have a large comic collection or you just don't want your files to take out too much space in your device, you can choose to have your content stored on iCloud Drive or have it stored in your own server.",source:"@site/docs/import-content/opds.md",sourceDirName:"import-content",slug:"/import-content/opds",permalink:"/import-content/opds",draft:!1,unlisted:!1,editUrl:"https://github.com/Produkt/panels-guides/tree/main/packages/create-docusaurus/templates/shared/docs/import-content/opds.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"tutorialSidebar",previous:{title:"Synced content via iCloud Drive",permalink:"/import-content/icloud-drive"},next:{title:"Organizing content",permalink:"/category/organizing-content"}},c={},u=[];function d(e){const o={a:"a",h1:"h1",p:"p",...(0,r.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.h1,{id:"opds-your-own-server",children:"OPDS: Your own server"}),"\n",(0,n.jsxs)(o.p,{children:["If you have a large comic collection or you just don't want your files to take out too much space in your device, you can choose to ",(0,n.jsx)(o.a,{href:"/import-content/icloud-drive",children:"have your content stored on iCloud Drive"})," or have it stored in your own server."]}),"\n",(0,n.jsxs)(o.p,{children:["Panels can connect to server using the OPDS protocol. There are multiple server implementations that are compatible with OPDS. For comics in particular, we do recommend using ",(0,n.jsx)(o.a,{href:"https://www.kavitareader.com/",children:"Kavita"}),", ",(0,n.jsx)(o.a,{href:"https://komga.org/",children:"Komga"})," or ",(0,n.jsx)(o.a,{href:"https://github.com/ajslater/codex",children:"Codex"}),"."]}),"\n",(0,n.jsx)(o.p,{children:"Each one of those servers offer great documentation and communities around them, so we strongly suggest you visit them to set your server up."}),"\n",(0,n.jsxs)(o.p,{children:["For Komga in particular, we added a full guide on how to set it up with Panels: ",(0,n.jsx)(o.a,{href:"https://komga.org/docs/guides/panels",children:"https://komga.org/docs/guides/panels"})]}),"\n",(0,n.jsx)(o.p,{children:"All OPDS servers operate similarly from Panels' side, so we recommend following that guide."})]})}function l(e={}){const{wrapper:o}={...(0,r.R)(),...e.components};return o?(0,n.jsx)(o,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},8453:(e,o,t)=>{t.d(o,{R:()=>i,x:()=>a});var n=t(6540);const r={},s=n.createContext(r);function i(e){const o=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function a(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),n.createElement(s.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6d1b5e98.a3491c36.js b/assets/js/6d1b5e98.a3491c36.js new file mode 100644 index 0000000..6b5dd40 --- /dev/null +++ b/assets/js/6d1b5e98.a3491c36.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[997],{8818:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>a,contentTitle:()=>i,default:()=>l,frontMatter:()=>s,metadata:()=>c,toc:()=>d});var n=t(4848),r=t(8453);const s={sidebar_position:5},i="OPDS: Your own server",c={id:"import-content/opds",title:"OPDS: Your own server",description:"If you have a large comic collection or you just don't want your files to take out too much space in your device, you can choose to have your content stored on iCloud Drive or have it stored in your own server.",source:"@site/docs/import-content/opds.md",sourceDirName:"import-content",slug:"/import-content/opds",permalink:"/import-content/opds",draft:!1,unlisted:!1,editUrl:"https://github.com/Produkt/panels-guides/docs/import-content/opds.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"tutorialSidebar",previous:{title:"Synced content via iCloud Drive",permalink:"/import-content/icloud-drive"},next:{title:"Organizing content",permalink:"/category/organizing-content"}},a={},d=[];function u(e){const o={a:"a",h1:"h1",p:"p",...(0,r.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.h1,{id:"opds-your-own-server",children:"OPDS: Your own server"}),"\n",(0,n.jsxs)(o.p,{children:["If you have a large comic collection or you just don't want your files to take out too much space in your device, you can choose to ",(0,n.jsx)(o.a,{href:"/import-content/icloud-drive",children:"have your content stored on iCloud Drive"})," or have it stored in your own server."]}),"\n",(0,n.jsxs)(o.p,{children:["Panels can connect to server using the OPDS protocol. There are multiple server implementations that are compatible with OPDS. For comics in particular, we do recommend using ",(0,n.jsx)(o.a,{href:"https://www.kavitareader.com/",children:"Kavita"}),", ",(0,n.jsx)(o.a,{href:"https://komga.org/",children:"Komga"})," or ",(0,n.jsx)(o.a,{href:"https://github.com/ajslater/codex",children:"Codex"}),"."]}),"\n",(0,n.jsx)(o.p,{children:"Each one of those servers offer great documentation and communities around them, so we strongly suggest you visit them to set your server up."}),"\n",(0,n.jsxs)(o.p,{children:["For Komga in particular, we added a full guide on how to set it up with Panels: ",(0,n.jsx)(o.a,{href:"https://komga.org/docs/guides/panels",children:"https://komga.org/docs/guides/panels"})]}),"\n",(0,n.jsx)(o.p,{children:"All OPDS servers operate similarly from Panels' side, so we recommend following that guide."})]})}function l(e={}){const{wrapper:o}={...(0,r.R)(),...e.components};return o?(0,n.jsx)(o,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},8453:(e,o,t)=>{t.d(o,{R:()=>i,x:()=>c});var n=t(6540);const r={},s=n.createContext(r);function i(e){const o=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function c(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),n.createElement(s.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/845353e3.46a1bf07.js b/assets/js/845353e3.46a1bf07.js new file mode 100644 index 0000000..0f6df60 --- /dev/null +++ b/assets/js/845353e3.46a1bf07.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[239],{7673:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>r,metadata:()=>a,toc:()=>d});var o=n(4848),i=n(8453);const r={sidebar_position:2},s="Live text",a={id:"read-content/live-text",title:"Live text",description:"// Explain what it is and how to enable and some options",source:"@site/docs/read-content/live-text.md",sourceDirName:"read-content",slug:"/read-content/live-text",permalink:"/read-content/live-text",draft:!1,unlisted:!1,editUrl:"https://github.com/Produkt/panels-guides/docs/read-content/live-text.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Reader configuration",permalink:"/read-content/reader-configurations"},next:{title:"Icognito mode",permalink:"/read-content/incognito-mode"}},c={},d=[];function l(t){const e={h1:"h1",p:"p",...(0,i.R)(),...t.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.h1,{id:"live-text",children:"Live text"}),"\n",(0,o.jsx)(e.p,{children:"// Explain what it is and how to enable and some options"})]})}function u(t={}){const{wrapper:e}={...(0,i.R)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(l,{...t})}):l(t)}},8453:(t,e,n)=>{n.d(e,{R:()=>s,x:()=>a});var o=n(6540);const i={},r=o.createContext(i);function s(t){const e=o.useContext(r);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function a(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(i):t.components||i:s(t.components),o.createElement(r.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/845353e3.e4cb737a.js b/assets/js/845353e3.e4cb737a.js deleted file mode 100644 index 6ff1510..0000000 --- a/assets/js/845353e3.e4cb737a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[239],{7673:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>r,metadata:()=>a,toc:()=>d});var o=n(4848),i=n(8453);const r={sidebar_position:2},s="Live text",a={id:"read-content/live-text",title:"Live text",description:"// Explain what it is and how to enable and some options",source:"@site/docs/read-content/live-text.md",sourceDirName:"read-content",slug:"/read-content/live-text",permalink:"/read-content/live-text",draft:!1,unlisted:!1,editUrl:"https://github.com/Produkt/panels-guides/tree/main/packages/create-docusaurus/templates/shared/docs/read-content/live-text.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Reader configuration",permalink:"/read-content/reader-configurations"},next:{title:"Icognito mode",permalink:"/read-content/incognito-mode"}},c={},d=[];function l(e){const t={h1:"h1",p:"p",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h1,{id:"live-text",children:"Live text"}),"\n",(0,o.jsx)(t.p,{children:"// Explain what it is and how to enable and some options"})]})}function u(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>s,x:()=>a});var o=n(6540);const i={},r=o.createContext(i);function s(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8a1d5e05.3286cbef.js b/assets/js/8a1d5e05.3286cbef.js deleted file mode 100644 index fec12da..0000000 --- a/assets/js/8a1d5e05.3286cbef.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[334],{198:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>d,frontMatter:()=>r,metadata:()=>a,toc:()=>l});var n=o(4848),i=o(8453);const r={sidebar_position:3},s="Custom import services",a={id:"import-content/import-services",title:"Custom import services",description:"Panels have support with external services to make it easier to import content into the app.",source:"@site/docs/import-content/import-services.md",sourceDirName:"import-content",slug:"/import-content/import-services",permalink:"/import-content/import-services",draft:!1,unlisted:!1,editUrl:"https://github.com/Produkt/panels-guides/tree/main/packages/create-docusaurus/templates/shared/docs/import-content/import-services.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Files app and iOS mechanisms",permalink:"/import-content/files-app"},next:{title:"Synced content via iCloud Drive",permalink:"/import-content/icloud-drive"}},c={},l=[{value:"Dropbox",id:"dropbox",level:2},{value:"One Drive",id:"one-drive",level:2},{value:"SMB server",id:"smb-server",level:2},{value:"OPDS (as import service)",id:"opds-as-import-service",level:2},{value:"Files app",id:"files-app",level:2}];function p(e){const t={a:"a",h1:"h1",h2:"h2",p:"p",...(0,i.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h1,{id:"custom-import-services",children:"Custom import services"}),"\n",(0,n.jsx)(t.p,{children:"Panels have support with external services to make it easier to import content into the app."}),"\n",(0,n.jsx)(t.p,{children:'Most of those services work the same way and are accessible from the library content screen -> top right "..." button -> connect service option.'}),"\n",(0,n.jsx)("img",{src:"/img/content-browser-options.jpeg",alt:"iPhone showing content browser options",style:{width:400}}),"\n",(0,n.jsx)(t.h2,{id:"dropbox",children:"Dropbox"}),"\n",(0,n.jsx)(t.p,{children:"Follow the instructions on the screen to authenticate your Dropbox account. Once set up, you will see a new option appear under Import Services showing a Dropbox icon. Use that to navigate your content and select which files you want to download."}),"\n",(0,n.jsx)(t.p,{children:'After choosing which files to import, they will appear in "Downloads" as they are downloaded. Once finished, they will show up in your library.'}),"\n",(0,n.jsx)(t.h2,{id:"one-drive",children:"One Drive"}),"\n",(0,n.jsx)(t.p,{children:"Follow the instructions on the screen to authenticate your One Drive account. Once set up, you will see a new option appear under Import Services showing a One Drive icon. Use that to navigate your content and select which files you want to download."}),"\n",(0,n.jsx)(t.p,{children:'After choosing which files to import, they will appear in "Downloads" as they are downloaded. Once finished, they will show up in your library.'}),"\n",(0,n.jsx)(t.h2,{id:"smb-server",children:"SMB server"}),"\n",(0,n.jsx)(t.p,{children:"You can use the Server Message Block (SMB) protocol to share files between devices on the same network. For example, you can enable it on your Mac or NAS, and access the files to download from your iPhone/iPad."}),"\n",(0,n.jsxs)(t.p,{children:["If you want to enable it from your Mac, you can ",(0,n.jsx)(t.a,{href:"https://support.apple.com/guide/mac-help/set-up-smb-file-sharing-on-mac-mh14107",children:"follow this simple guide"}),"."]}),"\n",(0,n.jsx)(t.p,{children:'Once enabled, make sure to grab the smb url (example: "smb://192.168.68.72").'}),"\n",(0,n.jsx)(t.p,{children:"Go to Panels, add new service and select SMB Server. Enter the address, username (and optional password) to connect. Once connected, you will have access to the shared folder. Select the files you wish to download to your phone."}),"\n",(0,n.jsx)(t.h2,{id:"opds-as-import-service",children:"OPDS (as import service)"}),"\n",(0,n.jsx)(t.p,{children:'The way you add an OPDS server to Panels is the same as other services, just tap on "..." -> Connect Service -> OPDS.'}),"\n",(0,n.jsxs)(t.p,{children:["We cover OPDS in full detail in ",(0,n.jsx)(t.a,{href:"/import-content/opds",children:"your content in your server"}),"."]}),"\n",(0,n.jsx)(t.p,{children:"Once you enter your credentials, OPDS will appear both as a new library and as an Import Service."}),"\n",(0,n.jsx)("img",{src:"/img/opds-server-example.jpeg",alt:"iPhone showing OPDS server",style:{width:400}}),"\n",(0,n.jsx)(t.p,{children:'If you tap on the one under "Import services", you will be able to navigate your server and select which files to download to your library. After selecting a title or titles and tapping "import", you will be prompted to select the destination. You can navigate your library and place the content anywhere. The download will start, and once finished, it will appear and be ready for you to read in your library.'}),"\n",(0,n.jsx)(t.h2,{id:"files-app",children:"Files app"}),"\n",(0,n.jsx)(t.p,{children:'Files app is probably the easiest of our importing services. Just tap on "import from files" and you will see a new modal to navigate your devices files. Find the files and tap "Open" to start importing them and selecting a destination.'})]})}function d(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(p,{...e})}):p(e)}},8453:(e,t,o)=>{o.d(t,{R:()=>s,x:()=>a});var n=o(6540);const i={},r=n.createContext(i);function s(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8a1d5e05.5fd1e29f.js b/assets/js/8a1d5e05.5fd1e29f.js new file mode 100644 index 0000000..965a525 --- /dev/null +++ b/assets/js/8a1d5e05.5fd1e29f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[334],{198:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>d,frontMatter:()=>r,metadata:()=>a,toc:()=>l});var n=o(4848),i=o(8453);const r={sidebar_position:3},s="Custom import services",a={id:"import-content/import-services",title:"Custom import services",description:"Panels have support with external services to make it easier to import content into the app.",source:"@site/docs/import-content/import-services.md",sourceDirName:"import-content",slug:"/import-content/import-services",permalink:"/import-content/import-services",draft:!1,unlisted:!1,editUrl:"https://github.com/Produkt/panels-guides/docs/import-content/import-services.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Files app and iOS mechanisms",permalink:"/import-content/files-app"},next:{title:"Synced content via iCloud Drive",permalink:"/import-content/icloud-drive"}},c={},l=[{value:"Dropbox",id:"dropbox",level:2},{value:"One Drive",id:"one-drive",level:2},{value:"SMB server",id:"smb-server",level:2},{value:"OPDS (as import service)",id:"opds-as-import-service",level:2},{value:"Files app",id:"files-app",level:2}];function p(e){const t={a:"a",h1:"h1",h2:"h2",p:"p",...(0,i.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h1,{id:"custom-import-services",children:"Custom import services"}),"\n",(0,n.jsx)(t.p,{children:"Panels have support with external services to make it easier to import content into the app."}),"\n",(0,n.jsx)(t.p,{children:'Most of those services work the same way and are accessible from the library content screen -> top right "..." button -> connect service option.'}),"\n",(0,n.jsx)("img",{src:"/img/content-browser-options.jpeg",alt:"iPhone showing content browser options",style:{width:400}}),"\n",(0,n.jsx)(t.h2,{id:"dropbox",children:"Dropbox"}),"\n",(0,n.jsx)(t.p,{children:"Follow the instructions on the screen to authenticate your Dropbox account. Once set up, you will see a new option appear under Import Services showing a Dropbox icon. Use that to navigate your content and select which files you want to download."}),"\n",(0,n.jsx)(t.p,{children:'After choosing which files to import, they will appear in "Downloads" as they are downloaded. Once finished, they will show up in your library.'}),"\n",(0,n.jsx)(t.h2,{id:"one-drive",children:"One Drive"}),"\n",(0,n.jsx)(t.p,{children:"Follow the instructions on the screen to authenticate your One Drive account. Once set up, you will see a new option appear under Import Services showing a One Drive icon. Use that to navigate your content and select which files you want to download."}),"\n",(0,n.jsx)(t.p,{children:'After choosing which files to import, they will appear in "Downloads" as they are downloaded. Once finished, they will show up in your library.'}),"\n",(0,n.jsx)(t.h2,{id:"smb-server",children:"SMB server"}),"\n",(0,n.jsx)(t.p,{children:"You can use the Server Message Block (SMB) protocol to share files between devices on the same network. For example, you can enable it on your Mac or NAS, and access the files to download from your iPhone/iPad."}),"\n",(0,n.jsxs)(t.p,{children:["If you want to enable it from your Mac, you can ",(0,n.jsx)(t.a,{href:"https://support.apple.com/guide/mac-help/set-up-smb-file-sharing-on-mac-mh14107",children:"follow this simple guide"}),"."]}),"\n",(0,n.jsx)(t.p,{children:'Once enabled, make sure to grab the smb url (example: "smb://192.168.68.72").'}),"\n",(0,n.jsx)(t.p,{children:"Go to Panels, add new service and select SMB Server. Enter the address, username (and optional password) to connect. Once connected, you will have access to the shared folder. Select the files you wish to download to your phone."}),"\n",(0,n.jsx)(t.h2,{id:"opds-as-import-service",children:"OPDS (as import service)"}),"\n",(0,n.jsx)(t.p,{children:'The way you add an OPDS server to Panels is the same as other services, just tap on "..." -> Connect Service -> OPDS.'}),"\n",(0,n.jsxs)(t.p,{children:["We cover OPDS in full detail in ",(0,n.jsx)(t.a,{href:"/import-content/opds",children:"your content in your server"}),"."]}),"\n",(0,n.jsx)(t.p,{children:"Once you enter your credentials, OPDS will appear both as a new library and as an Import Service."}),"\n",(0,n.jsx)("img",{src:"/img/opds-server-example.jpeg",alt:"iPhone showing OPDS server",style:{width:400}}),"\n",(0,n.jsx)(t.p,{children:'If you tap on the one under "Import services", you will be able to navigate your server and select which files to download to your library. After selecting a title or titles and tapping "import", you will be prompted to select the destination. You can navigate your library and place the content anywhere. The download will start, and once finished, it will appear and be ready for you to read in your library.'}),"\n",(0,n.jsx)(t.h2,{id:"files-app",children:"Files app"}),"\n",(0,n.jsx)(t.p,{children:'Files app is probably the easiest of our importing services. Just tap on "import from files" and you will see a new modal to navigate your devices files. Find the files and tap "Open" to start importing them and selecting a destination.'})]})}function d(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(p,{...e})}):p(e)}},8453:(e,t,o)=>{o.d(t,{R:()=>s,x:()=>a});var n=o(6540);const i={},r=n.createContext(i);function s(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8ec0ceae.55e63bc5.js b/assets/js/8ec0ceae.55e63bc5.js new file mode 100644 index 0000000..6af1d13 --- /dev/null +++ b/assets/js/8ec0ceae.55e63bc5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[217],{402:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>d,contentTitle:()=>s,default:()=>l,frontMatter:()=>t,metadata:()=>i,toc:()=>c});var o=r(4848),a=r(8453);const t={sidebar_position:2},s="Readers",i={id:"FAQs/readers-faqs",title:"Readers",description:"Can I change grouping behavior for double page reader?",source:"@site/docs/FAQs/readers-faqs.md",sourceDirName:"FAQs",slug:"/FAQs/readers-faqs",permalink:"/FAQs/readers-faqs",draft:!1,unlisted:!1,editUrl:"https://github.com/Produkt/panels-guides/docs/FAQs/readers-faqs.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Purchases and Subscriptions",permalink:"/FAQs/premium-faqs"},next:{title:"Content and library",permalink:"/FAQs/library-faqs"}},d={},c=[{value:"Can I change grouping behavior for double page reader?",id:"can-i-change-grouping-behavior-for-double-page-reader",level:3},{value:"Can I share a page?",id:"can-i-share-a-page",level:3},{value:"How to use \u201cContinue reading\u201d",id:"how-to-use-continue-reading",level:3}];function u(e){const n={admonition:"admonition",h1:"h1",h3:"h3",p:"p",...(0,a.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"readers",children:"Readers"}),"\n",(0,o.jsx)(n.h3,{id:"can-i-change-grouping-behavior-for-double-page-reader",children:"Can I change grouping behavior for double page reader?"}),"\n",(0,o.jsx)(n.p,{children:"Yes. From the pages horizontal carousel, you can long press on a page to set the grouping starting point."}),"\n",(0,o.jsx)(n.h3,{id:"can-i-share-a-page",children:"Can I share a page?"}),"\n",(0,o.jsx)(n.p,{children:"Yes. From the pages horizontal carousel, you can long press on a page to share."}),"\n",(0,o.jsx)(n.h3,{id:"how-to-use-continue-reading",children:"How to use \u201cContinue reading\u201d"}),"\n",(0,o.jsx)(n.p,{children:"Continue reading works for files within the same folder. Once you reach the end, you can continue scrolling to jump to the next title."}),"\n",(0,o.jsx)(n.admonition,{type:"note",children:(0,o.jsx)(n.p,{children:"At this moment, continue reading does not work while streaming OPDS. This will be introduced when OPDS 2.0 is finally released and adopted both from Panels and from OPDS servers."})})]})}function l(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},8453:(e,n,r)=>{r.d(n,{R:()=>s,x:()=>i});var o=r(6540);const a={},t=o.createContext(a);function s(e){const n=o.useContext(t);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),o.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8ec0ceae.e9af42cb.js b/assets/js/8ec0ceae.e9af42cb.js deleted file mode 100644 index e2b77da..0000000 --- a/assets/js/8ec0ceae.e9af42cb.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[217],{402:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>d,contentTitle:()=>s,default:()=>l,frontMatter:()=>t,metadata:()=>i,toc:()=>c});var a=r(4848),o=r(8453);const t={sidebar_position:2},s="Readers",i={id:"FAQs/readers-faqs",title:"Readers",description:"Can I change grouping behavior for double page reader?",source:"@site/docs/FAQs/readers-faqs.md",sourceDirName:"FAQs",slug:"/FAQs/readers-faqs",permalink:"/FAQs/readers-faqs",draft:!1,unlisted:!1,editUrl:"https://github.com/Produkt/panels-guides/tree/main/packages/create-docusaurus/templates/shared/docs/FAQs/readers-faqs.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Purchases and Subscriptions",permalink:"/FAQs/premium-faqs"},next:{title:"Content and library",permalink:"/FAQs/library-faqs"}},d={},c=[{value:"Can I change grouping behavior for double page reader?",id:"can-i-change-grouping-behavior-for-double-page-reader",level:3},{value:"Can I share a page?",id:"can-i-share-a-page",level:3},{value:"How to use \u201cContinue reading\u201d",id:"how-to-use-continue-reading",level:3}];function u(e){const n={admonition:"admonition",h1:"h1",h3:"h3",p:"p",...(0,o.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.h1,{id:"readers",children:"Readers"}),"\n",(0,a.jsx)(n.h3,{id:"can-i-change-grouping-behavior-for-double-page-reader",children:"Can I change grouping behavior for double page reader?"}),"\n",(0,a.jsx)(n.p,{children:"Yes. From the pages horizontal carousel, you can long press on a page to set the grouping starting point."}),"\n",(0,a.jsx)(n.h3,{id:"can-i-share-a-page",children:"Can I share a page?"}),"\n",(0,a.jsx)(n.p,{children:"Yes. From the pages horizontal carousel, you can long press on a page to share."}),"\n",(0,a.jsx)(n.h3,{id:"how-to-use-continue-reading",children:"How to use \u201cContinue reading\u201d"}),"\n",(0,a.jsx)(n.p,{children:"Continue reading works for files within the same folder. Once you reach the end, you can continue scrolling to jump to the next title."}),"\n",(0,a.jsx)(n.admonition,{type:"note",children:(0,a.jsx)(n.p,{children:"At this moment, continue reading does not work while streaming OPDS. This will be introduced when OPDS 2.0 is finally released and adopted both from Panels and from OPDS servers."})})]})}function l(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(u,{...e})}):u(e)}},8453:(e,n,r)=>{r.d(n,{R:()=>s,x:()=>i});var a=r(6540);const o={},t=a.createContext(o);function s(e){const n=a.useContext(t);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),a.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/96aa63ee.7802c54e.js b/assets/js/96aa63ee.7802c54e.js deleted file mode 100644 index 47cbd2d..0000000 --- a/assets/js/96aa63ee.7802c54e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[707],{6945:(e,a,n)=>{n.r(a),n.d(a,{assets:()=>c,contentTitle:()=>r,default:()=>d,frontMatter:()=>i,metadata:()=>o,toc:()=>l});var s=n(4848),t=n(8453);const i={sidebar_position:1},r="Purchases and Subscriptions",o={id:"FAQs/premium-faqs",title:"Purchases and Subscriptions",description:"What is the difference between Panels+ and Panels 3?",source:"@site/docs/FAQs/premium-faqs.md",sourceDirName:"FAQs",slug:"/FAQs/premium-faqs",permalink:"/FAQs/premium-faqs",draft:!1,unlisted:!1,editUrl:"https://github.com/Produkt/panels-guides/tree/main/packages/create-docusaurus/templates/shared/docs/FAQs/premium-faqs.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"FAQs",permalink:"/category/faqs"},next:{title:"Readers",permalink:"/FAQs/readers-faqs"}},c={},l=[{value:"What is the difference between Panels+ and Panels 3?",id:"what-is-the-difference-between-panels-and-panels-3",level:3},{value:"If I buy or subscribe to Panels in one device, can I also get it in another one? Or do I need to pay again?",id:"if-i-buy-or-subscribe-to-panels-in-one-device-can-i-also-get-it-in-another-one-or-do-i-need-to-pay-again",level:3},{value:"Can I share Panels purchases with my family members?",id:"can-i-share-panels-purchases-with-my-family-members",level:3},{value:"I removed Panels and lost my Premium access. How can I get it back? Do I need to pay again?",id:"i-removed-panels-and-lost-my-premium-access-how-can-i-get-it-back-do-i-need-to-pay-again",level:3}];function u(e){const a={a:"a",h1:"h1",h3:"h3",p:"p",strong:"strong",...(0,t.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(a.h1,{id:"purchases-and-subscriptions",children:"Purchases and Subscriptions"}),"\n",(0,s.jsx)(a.h3,{id:"what-is-the-difference-between-panels-and-panels-3",children:"What is the difference between Panels+ and Panels 3?"}),"\n",(0,s.jsx)(a.p,{children:"Panels+ is a subscription, which unlocks everything as long as the subscription is active. We offer a trial period, for both monthly and yearly options."}),"\n",(0,s.jsxs)(a.p,{children:["Panels 2 (3, 4, 5....) is a 1 time purchase. It unlocks all current features until the next major version. So say you pay for Panels 3 -- you get access to ",(0,s.jsx)(a.strong,{children:"all"})," features, and any other premium feature that might be included in Panels 3. When Panels 4 comes out with new features, you will still have access to the features you paid for. New features introduced in Panels 4 will require a new purchase."]}),"\n",(0,s.jsx)(a.h3,{id:"if-i-buy-or-subscribe-to-panels-in-one-device-can-i-also-get-it-in-another-one-or-do-i-need-to-pay-again",children:"If I buy or subscribe to Panels in one device, can I also get it in another one? Or do I need to pay again?"}),"\n",(0,s.jsx)(a.p,{children:"You don't need to pay again. As long as you use the same Apple ID, you can go to settings and tap \"Restore purchases\". Even if you try to buy Premium again with the same Apple ID you won't be charged twice."}),"\n",(0,s.jsx)(a.h3,{id:"can-i-share-panels-purchases-with-my-family-members",children:"Can I share Panels purchases with my family members?"}),"\n",(0,s.jsx)(a.p,{children:"Yes you can, all of our purchases have family sharing enabled."}),"\n",(0,s.jsx)(a.h3,{id:"i-removed-panels-and-lost-my-premium-access-how-can-i-get-it-back-do-i-need-to-pay-again",children:"I removed Panels and lost my Premium access. How can I get it back? Do I need to pay again?"}),"\n",(0,s.jsxs)(a.p,{children:['No need to pay again. In the purchase screen, tap "Redeem purchases". If any problem occurs, please contact us at ',(0,s.jsx)(a.a,{href:"mailto:support@panels.app",children:"support@panels.app"})]})]})}function d(e={}){const{wrapper:a}={...(0,t.R)(),...e.components};return a?(0,s.jsx)(a,{...e,children:(0,s.jsx)(u,{...e})}):u(e)}},8453:(e,a,n)=>{n.d(a,{R:()=>r,x:()=>o});var s=n(6540);const t={},i=s.createContext(t);function r(e){const a=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function o(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),s.createElement(i.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/96aa63ee.fec7df9d.js b/assets/js/96aa63ee.fec7df9d.js new file mode 100644 index 0000000..018e71f --- /dev/null +++ b/assets/js/96aa63ee.fec7df9d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[707],{6945:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>d,frontMatter:()=>i,metadata:()=>o,toc:()=>l});var s=a(4848),t=a(8453);const i={sidebar_position:1},r="Purchases and Subscriptions",o={id:"FAQs/premium-faqs",title:"Purchases and Subscriptions",description:"What is the difference between Panels+ and Panels 3?",source:"@site/docs/FAQs/premium-faqs.md",sourceDirName:"FAQs",slug:"/FAQs/premium-faqs",permalink:"/FAQs/premium-faqs",draft:!1,unlisted:!1,editUrl:"https://github.com/Produkt/panels-guides/docs/FAQs/premium-faqs.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"FAQs",permalink:"/category/faqs"},next:{title:"Readers",permalink:"/FAQs/readers-faqs"}},c={},l=[{value:"What is the difference between Panels+ and Panels 3?",id:"what-is-the-difference-between-panels-and-panels-3",level:3},{value:"If I buy or subscribe to Panels in one device, can I also get it in another one? Or do I need to pay again?",id:"if-i-buy-or-subscribe-to-panels-in-one-device-can-i-also-get-it-in-another-one-or-do-i-need-to-pay-again",level:3},{value:"Can I share Panels purchases with my family members?",id:"can-i-share-panels-purchases-with-my-family-members",level:3},{value:"I removed Panels and lost my Premium access. How can I get it back? Do I need to pay again?",id:"i-removed-panels-and-lost-my-premium-access-how-can-i-get-it-back-do-i-need-to-pay-again",level:3}];function u(e){const n={a:"a",h1:"h1",h3:"h3",p:"p",strong:"strong",...(0,t.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"purchases-and-subscriptions",children:"Purchases and Subscriptions"}),"\n",(0,s.jsx)(n.h3,{id:"what-is-the-difference-between-panels-and-panels-3",children:"What is the difference between Panels+ and Panels 3?"}),"\n",(0,s.jsx)(n.p,{children:"Panels+ is a subscription, which unlocks everything as long as the subscription is active. We offer a trial period, for both monthly and yearly options."}),"\n",(0,s.jsxs)(n.p,{children:["Panels 2 (3, 4, 5....) is a 1 time purchase. It unlocks all current features until the next major version. So say you pay for Panels 3 -- you get access to ",(0,s.jsx)(n.strong,{children:"all"})," features, and any other premium feature that might be included in Panels 3. When Panels 4 comes out with new features, you will still have access to the features you paid for. New features introduced in Panels 4 will require a new purchase."]}),"\n",(0,s.jsx)(n.h3,{id:"if-i-buy-or-subscribe-to-panels-in-one-device-can-i-also-get-it-in-another-one-or-do-i-need-to-pay-again",children:"If I buy or subscribe to Panels in one device, can I also get it in another one? Or do I need to pay again?"}),"\n",(0,s.jsx)(n.p,{children:"You don't need to pay again. As long as you use the same Apple ID, you can go to settings and tap \"Restore purchases\". Even if you try to buy Premium again with the same Apple ID you won't be charged twice."}),"\n",(0,s.jsx)(n.h3,{id:"can-i-share-panels-purchases-with-my-family-members",children:"Can I share Panels purchases with my family members?"}),"\n",(0,s.jsx)(n.p,{children:"Yes you can, all of our purchases have family sharing enabled."}),"\n",(0,s.jsx)(n.h3,{id:"i-removed-panels-and-lost-my-premium-access-how-can-i-get-it-back-do-i-need-to-pay-again",children:"I removed Panels and lost my Premium access. How can I get it back? Do I need to pay again?"}),"\n",(0,s.jsxs)(n.p,{children:['No need to pay again. In the purchase screen, tap "Redeem purchases". If any problem occurs, please contact us at ',(0,s.jsx)(n.a,{href:"mailto:support@panels.app",children:"support@panels.app"})]})]})}function d(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(u,{...e})}):u(e)}},8453:(e,n,a)=>{a.d(n,{R:()=>r,x:()=>o});var s=a(6540);const t={},i=s.createContext(t);function r(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a5fac032.a0cff3e6.js b/assets/js/a5fac032.a0cff3e6.js new file mode 100644 index 0000000..6548db6 --- /dev/null +++ b/assets/js/a5fac032.a0cff3e6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[76],{4897:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>u,frontMatter:()=>r,metadata:()=>d,toc:()=>c});var o=n(4848),i=n(8453);const r={sidebar_position:4},a="Synced content via iCloud Drive",d={id:"import-content/icloud-drive",title:"Synced content via iCloud Drive",description:"In addition to syncing your reading sessions, Panels can keep your content synced between devices. Panels has support for multiple libraries in addition to having the current device library.",source:"@site/docs/import-content/icloud-drive.md",sourceDirName:"import-content",slug:"/import-content/icloud-drive",permalink:"/import-content/icloud-drive",draft:!1,unlisted:!1,editUrl:"https://github.com/Produkt/panels-guides/docs/import-content/icloud-drive.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Custom import services",permalink:"/import-content/import-services"},next:{title:"OPDS: Your own server",permalink:"/import-content/opds"}},s={},c=[];function l(e){const t={a:"a",admonition:"admonition",h1:"h1",p:"p",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h1,{id:"synced-content-via-icloud-drive",children:"Synced content via iCloud Drive"}),"\n",(0,o.jsxs)(t.p,{children:["In addition to ",(0,o.jsx)(t.a,{href:"/misc/sync-reading-sessions",children:"syncing your reading sessions"}),", Panels can keep your content synced between devices. Panels has support for ",(0,o.jsx)(t.a,{href:"/organize-content/multiple-libraries",children:"multiple libraries"})," in addition to having the current device library."]}),"\n",(0,o.jsx)(t.p,{children:"The trick to having your content synced via iCloud Drive is to choose a root library folder stored anywhere in iCloud Drive."}),"\n",(0,o.jsx)(t.p,{children:'To add an iCloud Drive library, head to the library tab, go back to "Content" and tap on the "..." icon, then choose "Add a new library". From the files app modal, navigate to any folder located inside your iCloud Drive folder. You can also create a new one if you don\'t have any comics in iCloud Drive yet. Choose the root folder and tap open.\nPanels will add that folder as a new library. From that point you will be able to navigate that folder within Panels, and use it as a regular library.\nPanels will not download any files to your device until you tap on them to read.'}),"\n",(0,o.jsx)(t.admonition,{type:"note",children:(0,o.jsx)(t.p,{children:"Panels needs to download each file once to extract the cover from it. Once extracted, the full comics will be deleted from you device and the cover will be placed in a folder and synced, so there is no need to download that file again until you read it."})}),"\n",(0,o.jsx)(t.admonition,{type:"tip",children:(0,o.jsx)(t.p,{children:"You will need to add that library to your other devices if you plan to have that content synced between them."})})]})}function u(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>d});var o=n(6540);const i={},r=o.createContext(i);function a(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a5fac032.f9486f2d.js b/assets/js/a5fac032.f9486f2d.js deleted file mode 100644 index 8700c3b..0000000 --- a/assets/js/a5fac032.f9486f2d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[76],{4897:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>u,frontMatter:()=>r,metadata:()=>d,toc:()=>c});var o=n(4848),i=n(8453);const r={sidebar_position:4},a="Synced content via iCloud Drive",d={id:"import-content/icloud-drive",title:"Synced content via iCloud Drive",description:"In addition to syncing your reading sessions, Panels can keep your content synced between devices. Panels has support for multiple libraries in addition to having the current device library.",source:"@site/docs/import-content/icloud-drive.md",sourceDirName:"import-content",slug:"/import-content/icloud-drive",permalink:"/import-content/icloud-drive",draft:!1,unlisted:!1,editUrl:"https://github.com/Produkt/panels-guides/tree/main/packages/create-docusaurus/templates/shared/docs/import-content/icloud-drive.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Custom import services",permalink:"/import-content/import-services"},next:{title:"OPDS: Your own server",permalink:"/import-content/opds"}},s={},c=[];function l(e){const t={a:"a",admonition:"admonition",h1:"h1",p:"p",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h1,{id:"synced-content-via-icloud-drive",children:"Synced content via iCloud Drive"}),"\n",(0,o.jsxs)(t.p,{children:["In addition to ",(0,o.jsx)(t.a,{href:"/misc/sync-reading-sessions",children:"syncing your reading sessions"}),", Panels can keep your content synced between devices. Panels has support for ",(0,o.jsx)(t.a,{href:"/organize-content/multiple-libraries",children:"multiple libraries"})," in addition to having the current device library."]}),"\n",(0,o.jsx)(t.p,{children:"The trick to having your content synced via iCloud Drive is to choose a root library folder stored anywhere in iCloud Drive."}),"\n",(0,o.jsx)(t.p,{children:'To add an iCloud Drive library, head to the library tab, go back to "Content" and tap on the "..." icon, then choose "Add a new library". From the files app modal, navigate to any folder located inside your iCloud Drive folder. You can also create a new one if you don\'t have any comics in iCloud Drive yet. Choose the root folder and tap open.\nPanels will add that folder as a new library. From that point you will be able to navigate that folder within Panels, and use it as a regular library.\nPanels will not download any files to your device until you tap on them to read.'}),"\n",(0,o.jsx)(t.admonition,{type:"note",children:(0,o.jsx)(t.p,{children:"Panels needs to download each file once to extract the cover from it. Once extracted, the full comics will be deleted from you device and the cover will be placed in a folder and synced, so there is no need to download that file again until you read it."})}),"\n",(0,o.jsx)(t.admonition,{type:"tip",children:(0,o.jsx)(t.p,{children:"You will need to add that library to your other devices if you plan to have that content synced between them."})})]})}function u(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>d});var o=n(6540);const i={},r=o.createContext(i);function a(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a94c3f64.8c1fb2f3.js b/assets/js/a94c3f64.8c1fb2f3.js deleted file mode 100644 index cc239bf..0000000 --- a/assets/js/a94c3f64.8c1fb2f3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[515],{4982:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>o,metadata:()=>s,toc:()=>c});var i=t(4848),r=t(8453);const o={},a="Multiple libraries",s={id:"organize-content/multiple-libraries",title:"Multiple libraries",description:'A Panels library is just a folder (containing other folders and/or files). You can access your default folder using Files app, navigating to "On my iPhone/iPad" -> Panels (the folder has the Panels app icon on it).',source:"@site/docs/organize-content/multiple-libraries.md",sourceDirName:"organize-content",slug:"/organize-content/multiple-libraries",permalink:"/organize-content/multiple-libraries",draft:!1,unlisted:!1,editUrl:"https://github.com/Produkt/panels-guides/tree/main/packages/create-docusaurus/templates/shared/docs/organize-content/multiple-libraries.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Organizing content",permalink:"/category/organizing-content"},next:{title:"Reading content",permalink:"/category/reading-content"}},l={},c=[{value:"Adding more libraries",id:"adding-more-libraries",level:2}];function d(e){const n={a:"a",admonition:"admonition",h1:"h1",h2:"h2",p:"p",strong:"strong",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"multiple-libraries",children:"Multiple libraries"}),"\n",(0,i.jsx)(n.p,{children:'A Panels library is just a folder (containing other folders and/or files). You can access your default folder using Files app, navigating to "On my iPhone/iPad" -> Panels (the folder has the Panels app icon on it).'}),"\n",(0,i.jsx)(n.p,{children:'Panels creates a default library when the app is installed. You will see the this library inside Panels referred to as "On my iPhone/iPad".'}),"\n",(0,i.jsx)(n.h2,{id:"adding-more-libraries",children:"Adding more libraries"}),"\n",(0,i.jsxs)(n.p,{children:["From within Panels app, you can add more libraries. Those libraries can be other folders located in your devices, can be ",(0,i.jsx)(n.a,{href:"/import-content/icloud-drive",children:"other folders located in iCloud Drive"}),", ",(0,i.jsx)(n.a,{href:"/import-content/opds",children:"located in your own server"})," or they can even be located in an ",(0,i.jsx)(n.strong,{children:"external disk connected via cable"}),"."]}),"\n",(0,i.jsx)(n.p,{children:'To add a new library, simply go to the library tab, go back to Content, tap on the "..." icon and select add a new library.\nLocate the root folder and tap Open.'}),"\n",(0,i.jsx)("img",{src:"/img/content-browser-options-library.jpeg",alt:"iPhone showing content browser options",style:{width:400}}),"\n",(0,i.jsx)(n.admonition,{type:"tip",children:(0,i.jsx)(n.p,{children:"If you want to quickly configure or delete a library, simply swipe left from the list of libraries."})})]})}function p(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>s});var i=t(6540);const r={},o=i.createContext(r);function a(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a94c3f64.f1a5d522.js b/assets/js/a94c3f64.f1a5d522.js new file mode 100644 index 0000000..8541c01 --- /dev/null +++ b/assets/js/a94c3f64.f1a5d522.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[515],{4982:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>o,metadata:()=>s,toc:()=>c});var t=i(4848),r=i(8453);const o={},a="Multiple libraries",s={id:"organize-content/multiple-libraries",title:"Multiple libraries",description:'A Panels library is just a folder (containing other folders and/or files). You can access your default folder using Files app, navigating to "On my iPhone/iPad" -> Panels (the folder has the Panels app icon on it).',source:"@site/docs/organize-content/multiple-libraries.md",sourceDirName:"organize-content",slug:"/organize-content/multiple-libraries",permalink:"/organize-content/multiple-libraries",draft:!1,unlisted:!1,editUrl:"https://github.com/Produkt/panels-guides/docs/organize-content/multiple-libraries.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Organizing content",permalink:"/category/organizing-content"},next:{title:"Reading content",permalink:"/category/reading-content"}},l={},c=[{value:"Adding more libraries",id:"adding-more-libraries",level:2}];function d(e){const n={a:"a",admonition:"admonition",h1:"h1",h2:"h2",p:"p",strong:"strong",...(0,r.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{id:"multiple-libraries",children:"Multiple libraries"}),"\n",(0,t.jsx)(n.p,{children:'A Panels library is just a folder (containing other folders and/or files). You can access your default folder using Files app, navigating to "On my iPhone/iPad" -> Panels (the folder has the Panels app icon on it).'}),"\n",(0,t.jsx)(n.p,{children:'Panels creates a default library when the app is installed. You will see the this library inside Panels referred to as "On my iPhone/iPad".'}),"\n",(0,t.jsx)(n.h2,{id:"adding-more-libraries",children:"Adding more libraries"}),"\n",(0,t.jsxs)(n.p,{children:["From within Panels app, you can add more libraries. Those libraries can be other folders located in your devices, can be ",(0,t.jsx)(n.a,{href:"/import-content/icloud-drive",children:"other folders located in iCloud Drive"}),", ",(0,t.jsx)(n.a,{href:"/import-content/opds",children:"located in your own server"})," or they can even be located in an ",(0,t.jsx)(n.strong,{children:"external disk connected via cable"}),"."]}),"\n",(0,t.jsx)(n.p,{children:'To add a new library, simply go to the library tab, go back to Content, tap on the "..." icon and select add a new library.\nLocate the root folder and tap Open.'}),"\n",(0,t.jsx)("img",{src:"/img/content-browser-options-library.jpeg",alt:"iPhone showing content browser options",style:{width:400}}),"\n",(0,t.jsx)(n.admonition,{type:"tip",children:(0,t.jsx)(n.p,{children:"If you want to quickly configure or delete a library, simply swipe left from the list of libraries."})})]})}function p(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},8453:(e,n,i)=>{i.d(n,{R:()=>a,x:()=>s});var t=i(6540);const r={},o=t.createContext(r);function a(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b53bdc67.617e96a2.js b/assets/js/b53bdc67.617e96a2.js new file mode 100644 index 0000000..88ec04c --- /dev/null +++ b/assets/js/b53bdc67.617e96a2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[497],{1073:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>c,default:()=>l,frontMatter:()=>r,metadata:()=>s,toc:()=>a});var o=n(4848),i=n(8453);const r={sidebar_position:3},c="Icognito mode",s={id:"read-content/incognito-mode",title:"Icognito mode",description:"// Explain what it is and what it does",source:"@site/docs/read-content/incognito-mode.md",sourceDirName:"read-content",slug:"/read-content/incognito-mode",permalink:"/read-content/incognito-mode",draft:!1,unlisted:!1,editUrl:"https://github.com/Produkt/panels-guides/docs/read-content/incognito-mode.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Live text",permalink:"/read-content/live-text"},next:{title:"Lock zoom",permalink:"/read-content/lock-zoom"}},d={},a=[];function u(t){const e={h1:"h1",p:"p",...(0,i.R)(),...t.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.h1,{id:"icognito-mode",children:"Icognito mode"}),"\n",(0,o.jsx)(e.p,{children:"// Explain what it is and what it does"})]})}function l(t={}){const{wrapper:e}={...(0,i.R)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(u,{...t})}):u(t)}},8453:(t,e,n)=>{n.d(e,{R:()=>c,x:()=>s});var o=n(6540);const i={},r=o.createContext(i);function c(t){const e=o.useContext(r);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function s(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(i):t.components||i:c(t.components),o.createElement(r.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/b53bdc67.f5184125.js b/assets/js/b53bdc67.f5184125.js deleted file mode 100644 index 0f4ca9a..0000000 --- a/assets/js/b53bdc67.f5184125.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[497],{1073:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>a,contentTitle:()=>s,default:()=>m,frontMatter:()=>r,metadata:()=>c,toc:()=>d});var o=n(4848),i=n(8453);const r={sidebar_position:3},s="Icognito mode",c={id:"read-content/incognito-mode",title:"Icognito mode",description:"// Explain what it is and what it does",source:"@site/docs/read-content/incognito-mode.md",sourceDirName:"read-content",slug:"/read-content/incognito-mode",permalink:"/read-content/incognito-mode",draft:!1,unlisted:!1,editUrl:"https://github.com/Produkt/panels-guides/tree/main/packages/create-docusaurus/templates/shared/docs/read-content/incognito-mode.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Live text",permalink:"/read-content/live-text"},next:{title:"Lock zoom",permalink:"/read-content/lock-zoom"}},a={},d=[];function u(t){const e={h1:"h1",p:"p",...(0,i.R)(),...t.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.h1,{id:"icognito-mode",children:"Icognito mode"}),"\n",(0,o.jsx)(e.p,{children:"// Explain what it is and what it does"})]})}function m(t={}){const{wrapper:e}={...(0,i.R)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(u,{...t})}):u(t)}},8453:(t,e,n)=>{n.d(e,{R:()=>s,x:()=>c});var o=n(6540);const i={},r=o.createContext(i);function s(t){const e=o.useContext(r);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function c(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(i):t.components||i:s(t.components),o.createElement(r.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/bb748de9.091f82f2.js b/assets/js/bb748de9.091f82f2.js deleted file mode 100644 index e186f36..0000000 --- a/assets/js/bb748de9.091f82f2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[308],{5082:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>a,contentTitle:()=>s,default:()=>l,frontMatter:()=>c,metadata:()=>i,toc:()=>d});var n=o(4848),r=o(8453);const c={sidebar_position:4},s="Lock zoom",i={id:"read-content/lock-zoom",title:"Lock zoom",description:"",source:"@site/docs/read-content/lock-zoom.md",sourceDirName:"read-content",slug:"/read-content/lock-zoom",permalink:"/read-content/lock-zoom",draft:!1,unlisted:!1,editUrl:"https://github.com/Produkt/panels-guides/tree/main/packages/create-docusaurus/templates/shared/docs/read-content/lock-zoom.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Icognito mode",permalink:"/read-content/incognito-mode"},next:{title:"Miscelaneous",permalink:"/category/miscelaneous"}},a={},d=[];function u(e){const t={h1:"h1",...(0,r.R)(),...e.components};return(0,n.jsx)(t.h1,{id:"lock-zoom",children:"Lock zoom"})}function l(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},8453:(e,t,o)=>{o.d(t,{R:()=>s,x:()=>i});var n=o(6540);const r={},c=n.createContext(r);function s(e){const t=n.useContext(c);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),n.createElement(c.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/bb748de9.77c59d6e.js b/assets/js/bb748de9.77c59d6e.js new file mode 100644 index 0000000..4080625 --- /dev/null +++ b/assets/js/bb748de9.77c59d6e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[308],{5082:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>a,contentTitle:()=>s,default:()=>l,frontMatter:()=>r,metadata:()=>i,toc:()=>d});var n=t(4848),c=t(8453);const r={sidebar_position:4},s="Lock zoom",i={id:"read-content/lock-zoom",title:"Lock zoom",description:"",source:"@site/docs/read-content/lock-zoom.md",sourceDirName:"read-content",slug:"/read-content/lock-zoom",permalink:"/read-content/lock-zoom",draft:!1,unlisted:!1,editUrl:"https://github.com/Produkt/panels-guides/docs/read-content/lock-zoom.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Icognito mode",permalink:"/read-content/incognito-mode"},next:{title:"Miscelaneous",permalink:"/category/miscelaneous"}},a={},d=[];function u(e){const o={h1:"h1",...(0,c.R)(),...e.components};return(0,n.jsx)(o.h1,{id:"lock-zoom",children:"Lock zoom"})}function l(e={}){const{wrapper:o}={...(0,c.R)(),...e.components};return o?(0,n.jsx)(o,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},8453:(e,o,t)=>{t.d(o,{R:()=>s,x:()=>i});var n=t(6540);const c={},r=n.createContext(c);function s(e){const o=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function i(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:s(e.components),n.createElement(r.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/cc076405.4f51ce63.js b/assets/js/cc076405.4f51ce63.js new file mode 100644 index 0000000..6fcb930 --- /dev/null +++ b/assets/js/cc076405.4f51ce63.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[757],{3874:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>f,frontMatter:()=>o,metadata:()=>s,toc:()=>d});var r=n(4848),i=n(8453);const o={sidebar_position:1},a="Reader configuration",s={id:"read-content/reader-configurations",title:"Reader configuration",description:"// Explain different reader configurations",source:"@site/docs/read-content/reader-configurations.md",sourceDirName:"read-content",slug:"/read-content/reader-configurations",permalink:"/read-content/reader-configurations",draft:!1,unlisted:!1,editUrl:"https://github.com/Produkt/panels-guides/docs/read-content/reader-configurations.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Reading content",permalink:"/category/reading-content"},next:{title:"Live text",permalink:"/read-content/live-text"}},c={},d=[];function u(e){const t={h1:"h1",img:"img",p:"p",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h1,{id:"reader-configuration",children:"Reader configuration"}),"\n",(0,r.jsx)(t.p,{children:"// Explain different reader configurations"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Reader configurations",src:n(4034).A+"",width:"1179",height:"1259"})})]})}function f(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},4034:(e,t,n)=>{n.d(t,{A:()=>r});const r=n.p+"assets/images/reader-configurations-edb50a6b4b8c2392d04a96e439d0236c.png"},8453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>s});var r=n(6540);const i={},o=r.createContext(i);function a(e){const t=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),r.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/cc076405.52cf99be.js b/assets/js/cc076405.52cf99be.js deleted file mode 100644 index 560856a..0000000 --- a/assets/js/cc076405.52cf99be.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[757],{3874:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>f,frontMatter:()=>o,metadata:()=>s,toc:()=>d});var r=n(4848),i=n(8453);const o={sidebar_position:1},a="Reader configuration",s={id:"read-content/reader-configurations",title:"Reader configuration",description:"// Explain different reader configurations",source:"@site/docs/read-content/reader-configurations.md",sourceDirName:"read-content",slug:"/read-content/reader-configurations",permalink:"/read-content/reader-configurations",draft:!1,unlisted:!1,editUrl:"https://github.com/Produkt/panels-guides/tree/main/packages/create-docusaurus/templates/shared/docs/read-content/reader-configurations.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Reading content",permalink:"/category/reading-content"},next:{title:"Live text",permalink:"/read-content/live-text"}},c={},d=[];function u(e){const t={h1:"h1",img:"img",p:"p",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h1,{id:"reader-configuration",children:"Reader configuration"}),"\n",(0,r.jsx)(t.p,{children:"// Explain different reader configurations"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Reader configurations",src:n(4034).A+"",width:"1179",height:"1259"})})]})}function f(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},4034:(e,t,n)=>{n.d(t,{A:()=>r});const r=n.p+"assets/images/reader-configurations-edb50a6b4b8c2392d04a96e439d0236c.png"},8453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>s});var r=n(6540);const i={},o=r.createContext(i);function a(e){const t=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),r.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d589d3a7.7a836fe2.js b/assets/js/d589d3a7.7a836fe2.js new file mode 100644 index 0000000..9cc00b5 --- /dev/null +++ b/assets/js/d589d3a7.7a836fe2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[924],{8578:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>s,default:()=>h,frontMatter:()=>r,metadata:()=>c,toc:()=>l});var i=t(4848),o=t(8453);const r={slug:"/",sidebar_position:1},s="Getting started",c={id:"getting-started",title:"Getting started",description:"Panels is a DRM-free comic reader with many features to organize your library and improve your comic reading experience.",source:"@site/docs/getting-started.md",sourceDirName:".",slug:"/",permalink:"/",draft:!1,unlisted:!1,editUrl:"https://github.com/Produkt/panels-guides/docs/getting-started.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{slug:"/",sidebar_position:1},sidebar:"tutorialSidebar",next:{title:"Importing content",permalink:"/category/importing-content"}},a={},l=[{value:"Purchasing content",id:"purchasing-content",level:2},{value:"Importing content into Panels",id:"importing-content-into-panels",level:2},{value:"Syncing and organizing your content",id:"syncing-and-organizing-your-content",level:2},{value:"Read your content",id:"read-your-content",level:2}];function d(e){const n={a:"a",h1:"h1",h2:"h2",li:"li",p:"p",ul:"ul",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"getting-started",children:"Getting started"}),"\n",(0,i.jsx)(n.p,{children:"Panels is a DRM-free comic reader with many features to organize your library and improve your comic reading experience."}),"\n",(0,i.jsx)(n.p,{children:"The first thing you need to get started using Panels is content to read."}),"\n",(0,i.jsx)(n.h2,{id:"purchasing-content",children:"Purchasing content"}),"\n",(0,i.jsx)(n.p,{children:"Panels does not provide any content, all content should be purchased elsewhere."}),"\n",(0,i.jsx)(n.p,{children:"We do recommend the following sites to purchase DRM-free comics that you can download and import to Panels."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.humblebundle.com/books?partner=panels",children:"Humble bundle"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"http://panelsyndicate.com/",children:"Panelsyndicate"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://3w3m.substack.com/",children:"3 Worlds / 3 Moons"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://abstractstudiocomics.com/shop/",children:"Abstract Studio Comics"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.drivethrucomics.com/",children:"DriveThruComics"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://badinkstudios.com/shop/",children:"Bad Ink Studios"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://gen7comics.com/",children:"GenSeven Comics"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://bluefoxcomics.com/collections/digital",children:"Blue Fox Comics"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://emanga.com",children:"eManga"})}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"In addition, the following sites offer free, creative commons or public domain comics:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.peppercarrot.com/",children:"Pepper&Carrot"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://overwatch.blizzard.com/en-us/media/stories/",children:"Overwatch Media"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://overwatch.blizzard.com/es-es/media/stories/",children:"Recursos multimedia de Overwatch"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.nasa.gov/specials/moonikin-comic/",children:"NASA Moonikin Comic"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.nasa.gov/specials/calliefirst/",children:"NASA - First Woman"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://comicbookplus.com/?cid=1507",children:"Comic Books - Comic Book Plus"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://digitalcomicmuseum.com",children:"Digital Comic Museum"})}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"importing-content-into-panels",children:"Importing content into Panels"}),"\n",(0,i.jsx)(n.p,{children:"There are several ways to import your content into Panels, as well as keep it shared & synced between devices."}),"\n",(0,i.jsxs)(n.p,{children:["Head over to ",(0,i.jsx)(n.a,{href:"/category/importing-content",children:"Importing content"})," to know more."]}),"\n",(0,i.jsx)(n.h2,{id:"syncing-and-organizing-your-content",children:"Syncing and organizing your content"}),"\n",(0,i.jsx)(n.p,{children:"Once your content is inside Panels, we offer tools to organize it and customize how the library looks."}),"\n",(0,i.jsxs)(n.p,{children:["Find some more information in ",(0,i.jsx)(n.a,{href:"/category/organizing-content",children:"Organize content"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"read-your-content",children:"Read your content"}),"\n",(0,i.jsxs)(n.p,{children:["In addition to a powerful library, Panels offers an incredible reader with multiple features, from text selection to automatic background color. Visit ",(0,i.jsx)(n.a,{href:"/category/reading-content",children:"Reading content"})," to know more."]})]})}function h(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>c});var i=t(6540);const o={},r=i.createContext(o);function s(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d589d3a7.d4b85a27.js b/assets/js/d589d3a7.d4b85a27.js deleted file mode 100644 index d539bd7..0000000 --- a/assets/js/d589d3a7.d4b85a27.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[924],{8578:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>s,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var i=t(4848),r=t(8453);const o={slug:"/",sidebar_position:1},s="Getting started",c={id:"getting-started",title:"Getting started",description:"Panels is a DRM-free comic reader with many features to organize your library and improve your comic reading experience.",source:"@site/docs/getting-started.md",sourceDirName:".",slug:"/",permalink:"/",draft:!1,unlisted:!1,editUrl:"https://github.com/Produkt/panels-guides/tree/main/packages/create-docusaurus/templates/shared/docs/getting-started.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{slug:"/",sidebar_position:1},sidebar:"tutorialSidebar",next:{title:"Importing content",permalink:"/category/importing-content"}},a={},l=[{value:"Purchasing content",id:"purchasing-content",level:2},{value:"Importing content into Panels",id:"importing-content-into-panels",level:2},{value:"Syncing and organizing your content",id:"syncing-and-organizing-your-content",level:2},{value:"Read your content",id:"read-your-content",level:2}];function d(e){const n={a:"a",h1:"h1",h2:"h2",li:"li",p:"p",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"getting-started",children:"Getting started"}),"\n",(0,i.jsx)(n.p,{children:"Panels is a DRM-free comic reader with many features to organize your library and improve your comic reading experience."}),"\n",(0,i.jsx)(n.p,{children:"The first thing you need to get started using Panels is content to read."}),"\n",(0,i.jsx)(n.h2,{id:"purchasing-content",children:"Purchasing content"}),"\n",(0,i.jsx)(n.p,{children:"Panels does not provide any content, all content should be purchased elsewhere."}),"\n",(0,i.jsx)(n.p,{children:"We do recommend the following sites to purchase DRM-free comics that you can download and import to Panels."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.humblebundle.com/books?partner=panels",children:"Humble bundle"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"http://panelsyndicate.com/",children:"Panelsyndicate"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://3w3m.substack.com/",children:"3 Worlds / 3 Moons"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://abstractstudiocomics.com/shop/",children:"Abstract Studio Comics"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.drivethrucomics.com/",children:"DriveThruComics"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://badinkstudios.com/shop/",children:"Bad Ink Studios"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://gen7comics.com/",children:"GenSeven Comics"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://bluefoxcomics.com/collections/digital",children:"Blue Fox Comics"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://emanga.com",children:"eManga"})}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"In addition, the following sites offer free, creative commons or public domain comics:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.peppercarrot.com/",children:"Pepper&Carrot"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://overwatch.blizzard.com/en-us/media/stories/",children:"Overwatch Media"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://overwatch.blizzard.com/es-es/media/stories/",children:"Recursos multimedia de Overwatch"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.nasa.gov/specials/moonikin-comic/",children:"NASA Moonikin Comic"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.nasa.gov/specials/calliefirst/",children:"NASA - First Woman"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://comicbookplus.com/?cid=1507",children:"Comic Books - Comic Book Plus"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://digitalcomicmuseum.com",children:"Digital Comic Museum"})}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"importing-content-into-panels",children:"Importing content into Panels"}),"\n",(0,i.jsx)(n.p,{children:"There are several ways to import your content into Panels, as well as keep it shared & synced between devices."}),"\n",(0,i.jsxs)(n.p,{children:["Head over to ",(0,i.jsx)(n.a,{href:"/category/importing-content",children:"Importing content"})," to know more."]}),"\n",(0,i.jsx)(n.h2,{id:"syncing-and-organizing-your-content",children:"Syncing and organizing your content"}),"\n",(0,i.jsx)(n.p,{children:"Once your content is inside Panels, we offer tools to organize it and customize how the library looks."}),"\n",(0,i.jsxs)(n.p,{children:["Find some more information in ",(0,i.jsx)(n.a,{href:"/category/organizing-content",children:"Organize content"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"read-your-content",children:"Read your content"}),"\n",(0,i.jsxs)(n.p,{children:["In addition to a powerful library, Panels offers an incredible reader with multiple features, from text selection to automatic background color. Visit ",(0,i.jsx)(n.a,{href:"/category/reading-content",children:"Reading content"})," to know more."]})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>c});var i=t(6540);const r={},o=i.createContext(r);function s(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e5b1e55b.0c3416b6.js b/assets/js/e5b1e55b.0c3416b6.js deleted file mode 100644 index 08d424b..0000000 --- a/assets/js/e5b1e55b.0c3416b6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[661],{520:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>g});var s=a(4848),t=a(8453);const i={sidebar_position:2},o="Changing app languange",r={id:"misc/change-app-language",title:"Changing app languange",description:"We currently support 11 languages. Only English and Spanish are human translations though. The following 9 languages have been translated using AI:",source:"@site/docs/misc/change-app-language.md",sourceDirName:"misc",slug:"/misc/change-app-language",permalink:"/misc/change-app-language",draft:!1,unlisted:!1,editUrl:"https://github.com/Produkt/panels-guides/tree/main/packages/create-docusaurus/templates/shared/docs/misc/change-app-language.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Moving to a new device",permalink:"/misc/moving-to-new-device"},next:{title:"Syncing reading sessions",permalink:"/misc/sync-reading-sessions"}},l={},g=[];function c(e){const n={admonition:"admonition",code:"code",h1:"h1",img:"img",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,t.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"changing-app-languange",children:"Changing app languange"}),"\n",(0,s.jsx)(n.p,{children:"We currently support 11 languages. Only English and Spanish are human translations though. The following 9 languages have been translated using AI:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Chinese"}),"\n",(0,s.jsx)(n.li,{children:"French"}),"\n",(0,s.jsx)(n.li,{children:"German"}),"\n",(0,s.jsx)(n.li,{children:"Hindi"}),"\n",(0,s.jsx)(n.li,{children:"Italian"}),"\n",(0,s.jsx)(n.li,{children:"Japanese"}),"\n",(0,s.jsx)(n.li,{children:"Korean"}),"\n",(0,s.jsx)(n.li,{children:"Portuguese"}),"\n",(0,s.jsx)(n.li,{children:"Russian"}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["To change language, go to the app ",(0,s.jsx)(n.strong,{children:"Settings -> Languages -> Change Language"}),". This will take you to the system settings."]}),"\n",(0,s.jsx)(n.admonition,{type:"warning",children:(0,s.jsx)(n.p,{children:"Inside Panels' system screen, it may be possible that you don't see any languages option. Do the following if that's the case."})}),"\n",(0,s.jsxs)(n.p,{children:["Go to ",(0,s.jsx)(n.strong,{children:"System settings -> general -> Language & Region."})," Tapp on ",(0,s.jsx)(n.code,{children:"Add language..."})," to add one more language to your preferred languages. Once added, you can go back to Panels and you should see a new options to choose language."]}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"With only one preferred language"}),(0,s.jsx)(n.th,{children:"With more than one preferred language"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.img,{alt:"img alt",src:a(380).A+"",width:"1179",height:"2556"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.img,{alt:"img alt",src:a(8676).A+"",width:"1179",height:"2556"})})]})})]})]})}function d(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},380:(e,n,a)=>{a.d(n,{A:()=>s});const s=a.p+"assets/images/languages-no-section-bd75c1f2c7f3d2e6933ae95f0d664512.png"},8676:(e,n,a)=>{a.d(n,{A:()=>s});const s=a.p+"assets/images/languages-showing-section-bf2085c69e64fa819a202ae94f826957.png"},8453:(e,n,a)=>{a.d(n,{R:()=>o,x:()=>r});var s=a(6540);const t={},i=s.createContext(t);function o(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e5b1e55b.9938a5b2.js b/assets/js/e5b1e55b.9938a5b2.js new file mode 100644 index 0000000..14d1801 --- /dev/null +++ b/assets/js/e5b1e55b.9938a5b2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[661],{520:(n,e,s)=>{s.r(e),s.d(e,{assets:()=>l,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>g});var a=s(4848),t=s(8453);const i={sidebar_position:2},o="Changing app languange",r={id:"misc/change-app-language",title:"Changing app languange",description:"We currently support 11 languages. Only English and Spanish are human translations though. The following 9 languages have been translated using AI:",source:"@site/docs/misc/change-app-language.md",sourceDirName:"misc",slug:"/misc/change-app-language",permalink:"/misc/change-app-language",draft:!1,unlisted:!1,editUrl:"https://github.com/Produkt/panels-guides/docs/misc/change-app-language.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Moving to a new device",permalink:"/misc/moving-to-new-device"},next:{title:"Syncing reading sessions",permalink:"/misc/sync-reading-sessions"}},l={},g=[];function c(n){const e={admonition:"admonition",code:"code",h1:"h1",img:"img",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,t.R)(),...n.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(e.h1,{id:"changing-app-languange",children:"Changing app languange"}),"\n",(0,a.jsx)(e.p,{children:"We currently support 11 languages. Only English and Spanish are human translations though. The following 9 languages have been translated using AI:"}),"\n",(0,a.jsxs)(e.ul,{children:["\n",(0,a.jsx)(e.li,{children:"Chinese"}),"\n",(0,a.jsx)(e.li,{children:"French"}),"\n",(0,a.jsx)(e.li,{children:"German"}),"\n",(0,a.jsx)(e.li,{children:"Hindi"}),"\n",(0,a.jsx)(e.li,{children:"Italian"}),"\n",(0,a.jsx)(e.li,{children:"Japanese"}),"\n",(0,a.jsx)(e.li,{children:"Korean"}),"\n",(0,a.jsx)(e.li,{children:"Portuguese"}),"\n",(0,a.jsx)(e.li,{children:"Russian"}),"\n"]}),"\n",(0,a.jsxs)(e.p,{children:["To change language, go to the app ",(0,a.jsx)(e.strong,{children:"Settings -> Languages -> Change Language"}),". This will take you to the system settings."]}),"\n",(0,a.jsx)(e.admonition,{type:"warning",children:(0,a.jsx)(e.p,{children:"Inside Panels' system screen, it may be possible that you don't see any languages option. Do the following if that's the case."})}),"\n",(0,a.jsxs)(e.p,{children:["Go to ",(0,a.jsx)(e.strong,{children:"System settings -> general -> Language & Region."})," Tapp on ",(0,a.jsx)(e.code,{children:"Add language..."})," to add one more language to your preferred languages. Once added, you can go back to Panels and you should see a new options to choose language."]}),"\n",(0,a.jsxs)(e.table,{children:[(0,a.jsx)(e.thead,{children:(0,a.jsxs)(e.tr,{children:[(0,a.jsx)(e.th,{children:"With only one preferred language"}),(0,a.jsx)(e.th,{children:"With more than one preferred language"})]})}),(0,a.jsx)(e.tbody,{children:(0,a.jsxs)(e.tr,{children:[(0,a.jsx)(e.td,{children:(0,a.jsx)(e.img,{alt:"img alt",src:s(380).A+"",width:"1179",height:"2556"})}),(0,a.jsx)(e.td,{children:(0,a.jsx)(e.img,{alt:"img alt",src:s(8676).A+"",width:"1179",height:"2556"})})]})})]})]})}function d(n={}){const{wrapper:e}={...(0,t.R)(),...n.components};return e?(0,a.jsx)(e,{...n,children:(0,a.jsx)(c,{...n})}):c(n)}},380:(n,e,s)=>{s.d(e,{A:()=>a});const a=s.p+"assets/images/languages-no-section-bd75c1f2c7f3d2e6933ae95f0d664512.png"},8676:(n,e,s)=>{s.d(e,{A:()=>a});const a=s.p+"assets/images/languages-showing-section-bf2085c69e64fa819a202ae94f826957.png"},8453:(n,e,s)=>{s.d(e,{R:()=>o,x:()=>r});var a=s(6540);const t={},i=a.createContext(t);function o(n){const e=a.useContext(i);return a.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function r(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(t):n.components||t:o(n.components),a.createElement(i.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/ff832c6a.1b2761e1.js b/assets/js/ff832c6a.1b2761e1.js new file mode 100644 index 0000000..4d99768 --- /dev/null +++ b/assets/js/ff832c6a.1b2761e1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[950],{715:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>r,metadata:()=>a,toc:()=>l});var t=o(4848),s=o(8453);const r={sidebar_position:3},i="Content and library",a={id:"FAQs/library-faqs",title:"Content and library",description:"How to sync reading progress",source:"@site/docs/FAQs/library-faqs.md",sourceDirName:"FAQs",slug:"/FAQs/library-faqs",permalink:"/FAQs/library-faqs",draft:!1,unlisted:!1,editUrl:"https://github.com/Produkt/panels-guides/docs/FAQs/library-faqs.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Readers",permalink:"/FAQs/readers-faqs"},next:{title:"OPDS",permalink:"/FAQs/opds-faqs"}},c={},l=[{value:"How to sync reading progress",id:"how-to-sync-reading-progress",level:3},{value:"How to sync content",id:"how-to-sync-content",level:3},{value:"Does content lock just lock everything or is there a way to lock only some folders?",id:"does-content-lock-just-lock-everything-or-is-there-a-way-to-lock-only-some-folders",level:3}];function d(e){const n={h1:"h1",h3:"h3",p:"p",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{id:"content-and-library",children:"Content and library"}),"\n",(0,t.jsx)(n.h3,{id:"how-to-sync-reading-progress",children:"How to sync reading progress"}),"\n",(0,t.jsx)(n.p,{children:'Panels creates "reading sessions" (amount of time reading, starting time, final time, etc.) for each comic. As long as you are logged into your Panels account (you can sign in or create a new one from the app), all your reading sessions will be uploaded and synced across all your devices with the same account.'}),"\n",(0,t.jsx)(n.h3,{id:"how-to-sync-content",children:"How to sync content"}),"\n",(0,t.jsx)(n.p,{children:"The 2 main ways to have your content synced between devices are iCloud Drive and OPDS server. "}),"\n",(0,t.jsx)(n.h3,{id:"does-content-lock-just-lock-everything-or-is-there-a-way-to-lock-only-some-folders",children:"Does content lock just lock everything or is there a way to lock only some folders?"}),"\n",(0,t.jsx)(n.p,{children:"You can long press on a single comic or folder and just lock that content. It will appear blurred and will require a password to open. Also, the folder/file locked in Panels is hidden from the file system. Just in case you lock something and then you can't find it through Files.app. It's there, but not visible."})]})}function u(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},8453:(e,n,o)=>{o.d(n,{R:()=>i,x:()=>a});var t=o(6540);const s={},r=t.createContext(s);function i(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ff832c6a.f9dfd08a.js b/assets/js/ff832c6a.f9dfd08a.js deleted file mode 100644 index a14cf77..0000000 --- a/assets/js/ff832c6a.f9dfd08a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[950],{715:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>r,metadata:()=>a,toc:()=>l});var t=o(4848),s=o(8453);const r={sidebar_position:3},i="Content and library",a={id:"FAQs/library-faqs",title:"Content and library",description:"How to sync reading progress",source:"@site/docs/FAQs/library-faqs.md",sourceDirName:"FAQs",slug:"/FAQs/library-faqs",permalink:"/FAQs/library-faqs",draft:!1,unlisted:!1,editUrl:"https://github.com/Produkt/panels-guides/tree/main/packages/create-docusaurus/templates/shared/docs/FAQs/library-faqs.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Readers",permalink:"/FAQs/readers-faqs"},next:{title:"OPDS",permalink:"/FAQs/opds-faqs"}},c={},l=[{value:"How to sync reading progress",id:"how-to-sync-reading-progress",level:3},{value:"How to sync content",id:"how-to-sync-content",level:3},{value:"Does content lock just lock everything or is there a way to lock only some folders?",id:"does-content-lock-just-lock-everything-or-is-there-a-way-to-lock-only-some-folders",level:3}];function d(e){const n={h1:"h1",h3:"h3",p:"p",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{id:"content-and-library",children:"Content and library"}),"\n",(0,t.jsx)(n.h3,{id:"how-to-sync-reading-progress",children:"How to sync reading progress"}),"\n",(0,t.jsx)(n.p,{children:'Panels creates "reading sessions" (amount of time reading, starting time, final time, etc.) for each comic. As long as you are logged into your Panels account (you can sign in or create a new one from the app), all your reading sessions will be uploaded and synced across all your devices with the same account.'}),"\n",(0,t.jsx)(n.h3,{id:"how-to-sync-content",children:"How to sync content"}),"\n",(0,t.jsx)(n.p,{children:"The 2 main ways to have your content synced between devices are iCloud Drive and OPDS server. "}),"\n",(0,t.jsx)(n.h3,{id:"does-content-lock-just-lock-everything-or-is-there-a-way-to-lock-only-some-folders",children:"Does content lock just lock everything or is there a way to lock only some folders?"}),"\n",(0,t.jsx)(n.p,{children:"You can long press on a single comic or folder and just lock that content. It will appear blurred and will require a password to open. Also, the folder/file locked in Panels is hidden from the file system. Just in case you lock something and then you can't find it through Files.app. It's there, but not visible."})]})}function u(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},8453:(e,n,o)=>{o.d(n,{R:()=>i,x:()=>a});var t=o(6540);const s={},r=t.createContext(s);function i(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/main.e75021f2.js b/assets/js/main.cb2fed3e.js similarity index 77% rename from assets/js/main.e75021f2.js rename to assets/js/main.cb2fed3e.js index 7b01b2e..88f8b11 100644 --- a/assets/js/main.e75021f2.js +++ b/assets/js/main.cb2fed3e.js @@ -1,2 +1,2 @@ -/*! For license information please see main.e75021f2.js.LICENSE.txt */ -(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[792],{8328:(e,t,n)=>{"use strict";n.d(t,{A:()=>p});n(6540);var r=n(3259),a=n.n(r),o=n(4054);const i={"03e78535":[()=>n.e(157).then(n.t.bind(n,1966,19)),"/home/runner/work/panels-guides/panels-guides/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",1966],"14eb3368":[()=>Promise.all([n.e(869),n.e(969)]).then(n.bind(n,4136)),"@theme/DocCategoryGeneratedIndexPage",4136],17896441:[()=>Promise.all([n.e(869),n.e(401)]).then(n.bind(n,8756)),"@theme/DocItem",8756],"362a2cbc":[()=>n.e(767).then(n.t.bind(n,5866,19)),"~docs/default/category-tutorialsidebar-category-importing-content-c02.json",5866],"3c38b23d":[()=>n.e(489).then(n.bind(n,39)),"@site/docs/import-content/files-app.md",39],"400afbb9":[()=>n.e(333).then(n.bind(n,9122)),"@site/docs/import-content/supported-files.md",9122],"4c015006":[()=>n.e(916).then(n.bind(n,8398)),"@site/docs/FAQs/opds-faqs.md",8398],"5578039c":[()=>n.e(27).then(n.bind(n,3215)),"@site/docs/misc/moving-to-new-device.md",3215],"5e95c892":[()=>n.e(647).then(n.bind(n,7121)),"@theme/DocsRoot",7121],"61c5e07b":[()=>n.e(592).then(n.bind(n,2463)),"@site/docs/misc/sync-reading-sessions.md",2463],"6c487d36":[()=>n.e(752).then(n.bind(n,7278)),"@site/docs/FAQs/general-faqs.md",7278],"6d1b5e98":[()=>n.e(997).then(n.bind(n,8818)),"@site/docs/import-content/opds.md",8818],"845353e3":[()=>n.e(239).then(n.bind(n,7673)),"@site/docs/read-content/live-text.md",7673],"8a1d5e05":[()=>n.e(334).then(n.bind(n,198)),"@site/docs/import-content/import-services.md",198],"8ec0ceae":[()=>n.e(217).then(n.bind(n,402)),"@site/docs/FAQs/readers-faqs.md",402],"935f2afb":[()=>n.e(581).then(n.t.bind(n,5610,19)),"~docs/default/version-current-metadata-prop-751.json",5610],"96aa63ee":[()=>n.e(707).then(n.bind(n,6945)),"@site/docs/FAQs/premium-faqs.md",6945],"9c1d2f0d":[()=>n.e(780).then(n.t.bind(n,9386,19)),"~docs/default/category-tutorialsidebar-category-reading-content-06b.json",9386],a5fac032:[()=>n.e(76).then(n.bind(n,4897)),"@site/docs/import-content/icloud-drive.md",4897],a7bd4aaa:[()=>n.e(98).then(n.bind(n,4532)),"@theme/DocVersionRoot",4532],a94703ab:[()=>Promise.all([n.e(869),n.e(48)]).then(n.bind(n,2559)),"@theme/DocRoot",2559],a94c3f64:[()=>n.e(515).then(n.bind(n,4982)),"@site/docs/organize-content/multiple-libraries.md",4982],b53bdc67:[()=>n.e(497).then(n.bind(n,1073)),"@site/docs/read-content/incognito-mode.md",1073],bb748de9:[()=>n.e(308).then(n.bind(n,5082)),"@site/docs/read-content/lock-zoom.md",5082],bf736e9a:[()=>n.e(604).then(n.t.bind(n,3939,19)),"~docs/default/category-tutorialsidebar-category-miscelaneous-498.json",3939],cc076405:[()=>n.e(757).then(n.bind(n,3874)),"@site/docs/read-content/reader-configurations.md",3874],d589d3a7:[()=>n.e(924).then(n.bind(n,8578)),"@site/docs/getting-started.md",8578],e5720f42:[()=>n.e(778).then(n.t.bind(n,5966,19)),"~docs/default/category-tutorialsidebar-category-organizing-content-e85.json",5966],e5b1e55b:[()=>n.e(661).then(n.bind(n,520)),"@site/docs/misc/change-app-language.md",520],ece06b45:[()=>n.e(773).then(n.t.bind(n,5139,19)),"~docs/default/category-tutorialsidebar-category-faqs-f88.json",5139],ff832c6a:[()=>n.e(950).then(n.bind(n,715)),"@site/docs/FAQs/library-faqs.md",715]};var l=n(4848);function s(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,l.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,l.jsx)("p",{children:String(t)}),(0,l.jsx)("div",{children:(0,l.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,l.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,l.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,l.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,l.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var u=n(6921),c=n(3102);function d(e,t){if("*"===e)return a()({loading:s,loader:()=>n.e(237).then(n.bind(n,2237)),modules:["@theme/NotFound"],webpack:()=>[2237],render(e,t){const n=e.default;return(0,l.jsx)(c.W,{value:{plugin:{name:"native",id:"default"}},children:(0,l.jsx)(n,{...t})})}});const r=o[`${e}-${t}`],d={},p=[],f=[],m=(0,u.A)(r);return Object.entries(m).forEach((e=>{let[t,n]=e;const r=i[n];r&&(d[t]=r[0],p.push(r[1]),f.push(r[2]))})),a().Map({loading:s,loader:d,modules:p,webpack:()=>f,render(t,n){const a=JSON.parse(JSON.stringify(r));Object.entries(t).forEach((t=>{let[n,r]=t;const o=r.default;if(!o)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof o&&"function"!=typeof o||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{o[e]=r[e]}));let i=a;const l=n.split(".");l.slice(0,-1).forEach((e=>{i=i[e]})),i[l[l.length-1]]=o}));const o=a.__comp;delete a.__comp;const i=a.__context;return delete a.__context,(0,l.jsx)(c.W,{value:i,children:(0,l.jsx)(o,{...a,...n})})}})}const p=[{path:"/",component:d("/","e3d"),routes:[{path:"/",component:d("/","1f2"),routes:[{path:"/",component:d("/","864"),routes:[{path:"/category/faqs",component:d("/category/faqs","bb6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/category/importing-content",component:d("/category/importing-content","44e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/category/miscelaneous",component:d("/category/miscelaneous","840"),exact:!0,sidebar:"tutorialSidebar"},{path:"/category/organizing-content",component:d("/category/organizing-content","979"),exact:!0,sidebar:"tutorialSidebar"},{path:"/category/reading-content",component:d("/category/reading-content","10d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/FAQs/general-faqs",component:d("/FAQs/general-faqs","8b5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/FAQs/library-faqs",component:d("/FAQs/library-faqs","467"),exact:!0,sidebar:"tutorialSidebar"},{path:"/FAQs/opds-faqs",component:d("/FAQs/opds-faqs","021"),exact:!0,sidebar:"tutorialSidebar"},{path:"/FAQs/premium-faqs",component:d("/FAQs/premium-faqs","106"),exact:!0,sidebar:"tutorialSidebar"},{path:"/FAQs/readers-faqs",component:d("/FAQs/readers-faqs","a96"),exact:!0,sidebar:"tutorialSidebar"},{path:"/import-content/files-app",component:d("/import-content/files-app","6be"),exact:!0,sidebar:"tutorialSidebar"},{path:"/import-content/icloud-drive",component:d("/import-content/icloud-drive","683"),exact:!0,sidebar:"tutorialSidebar"},{path:"/import-content/import-services",component:d("/import-content/import-services","aa1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/import-content/opds",component:d("/import-content/opds","685"),exact:!0,sidebar:"tutorialSidebar"},{path:"/import-content/supported-files",component:d("/import-content/supported-files","2a9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/misc/change-app-language",component:d("/misc/change-app-language","76d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/misc/moving-to-new-device",component:d("/misc/moving-to-new-device","297"),exact:!0,sidebar:"tutorialSidebar"},{path:"/misc/sync-reading-sessions",component:d("/misc/sync-reading-sessions","71b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/organize-content/multiple-libraries",component:d("/organize-content/multiple-libraries","905"),exact:!0,sidebar:"tutorialSidebar"},{path:"/read-content/incognito-mode",component:d("/read-content/incognito-mode","e25"),exact:!0,sidebar:"tutorialSidebar"},{path:"/read-content/live-text",component:d("/read-content/live-text","993"),exact:!0,sidebar:"tutorialSidebar"},{path:"/read-content/lock-zoom",component:d("/read-content/lock-zoom","958"),exact:!0,sidebar:"tutorialSidebar"},{path:"/read-content/reader-configurations",component:d("/read-content/reader-configurations","601"),exact:!0,sidebar:"tutorialSidebar"},{path:"/",component:d("/","0a9"),exact:!0,sidebar:"tutorialSidebar"}]}]}]},{path:"*",component:d("*")}]},6125:(e,t,n)=>{"use strict";n.d(t,{o:()=>o,x:()=>i});var r=n(6540),a=n(4848);const o=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,a.jsx)(o.Provider,{value:n,children:t})}},8536:(e,t,n)=>{"use strict";var r=n(6540),a=n(5338),o=n(4625),i=n(545),l=n(8193);const s=[n(119),n(6134),n(6294),n(1043)];var u=n(8328),c=n(6347),d=n(2831),p=n(4848);function f(e){let{children:t}=e;return(0,p.jsx)(p.Fragment,{children:t})}var m=n(5260),g=n(4586),h=n(6025),y=n(6342),b=n(1003),v=n(2131),w=n(4090),k=n(2967),x=n(440),S=n(1463);function E(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,g.A)(),r=(0,v.o)(),a=n[e].htmlLang,o=e=>e.replace("-","_");return(0,p.jsxs)(m.A,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,p.jsx)("meta",{property:"og:locale",content:o(a)}),Object.values(n).filter((e=>a!==e.htmlLang)).map((e=>(0,p.jsx)("meta",{property:"og:locale:alternate",content:o(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function C(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,g.A)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,g.A)(),{pathname:r}=(0,c.zy)();return e+(0,x.applyTrailingSlash)((0,h.A)(r),{trailingSlash:n,baseUrl:t})}(),a=t?`${n}${t}`:r;return(0,p.jsxs)(m.A,{children:[(0,p.jsx)("meta",{property:"og:url",content:a}),(0,p.jsx)("link",{rel:"canonical",href:a})]})}function A(){const{i18n:{currentLocale:e}}=(0,g.A)(),{metadata:t,image:n}=(0,y.p)();return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(m.A,{children:[(0,p.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,p.jsx)("body",{className:w.w})]}),n&&(0,p.jsx)(b.be,{image:n}),(0,p.jsx)(C,{}),(0,p.jsx)(E,{}),(0,p.jsx)(S.A,{tag:k.Cy,locale:e}),(0,p.jsx)(m.A,{children:t.map(((e,t)=>(0,p.jsx)("meta",{...e},t)))})]})}const _=new Map;function T(e){if(_.has(e.pathname))return{...e,pathname:_.get(e.pathname)};if((0,d.u)(u.A,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return _.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return _.set(e.pathname,t),{...e,pathname:t}}var j=n(6125),N=n(6988),L=n(205);function R(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>a.forEach((e=>e?.()))}const P=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,L.A)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,a=t.hash===n.hash,o=t.search===n.search;if(r&&a&&!o)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:r}),R("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function O(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.u)(u.A,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class D extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=l.A.canUseDOM?R("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=R("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),O(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,p.jsx)(P,{previousLocation:this.previousLocation,location:t,children:(0,p.jsx)(c.qh,{location:t,render:()=>e})})}}const F=D,I="__docusaurus-base-url-issue-banner-container",M="__docusaurus-base-url-issue-banner",z="__docusaurus-base-url-issue-banner-suggestion-container";function B(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '${I}';\n var bannerHtml = ${JSON.stringify(function(e){return`\n
\n

Your Docusaurus site did not load properly.

\n

A very common reason is a wrong site baseUrl configuration.

\n

Current configured baseUrl = ${e} ${"/"===e?" (default value)":""}

\n

We suggest trying baseUrl =

\n
\n`}(e)).replace(/{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();const a=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;a?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var Y=n(6921);const Z=new Set,X=new Set,J=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,ee={prefetch(e){if(!(e=>!J()&&!X.has(e)&&!Z.has(e))(e))return!1;Z.add(e);const t=(0,d.u)(u.A,e).flatMap((e=>{return t=e.route.path,Object.entries(Q).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,Y.A)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?K(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!J()&&!X.has(e))(e)&&(X.add(e),O(e))},te=Object.freeze(ee),ne=Boolean(!0);if(l.A.canUseDOM){window.docusaurus=te;const e=document.getElementById("__docusaurus"),t=(0,p.jsx)(i.vd,{children:(0,p.jsx)(o.Kd,{children:(0,p.jsx)(W,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},l=()=>{if(ne)r.startTransition((()=>{a.hydrateRoot(e,t,{onRecoverableError:n})}));else{const o=a.createRoot(e,{onRecoverableError:n});r.startTransition((()=>{o.render(t)}))}};O(window.location.pathname).then(l)}},6988:(e,t,n)=>{"use strict";n.d(t,{o:()=>d,l:()=>p});var r=n(6540),a=n(4784);const o=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/","versions":[{"name":"current","label":"Next","isLast":true,"path":"/","mainDocId":"getting-started","docs":[{"id":"FAQs/general-faqs","path":"/FAQs/general-faqs","sidebar":"tutorialSidebar"},{"id":"FAQs/library-faqs","path":"/FAQs/library-faqs","sidebar":"tutorialSidebar"},{"id":"FAQs/opds-faqs","path":"/FAQs/opds-faqs","sidebar":"tutorialSidebar"},{"id":"FAQs/premium-faqs","path":"/FAQs/premium-faqs","sidebar":"tutorialSidebar"},{"id":"FAQs/readers-faqs","path":"/FAQs/readers-faqs","sidebar":"tutorialSidebar"},{"id":"getting-started","path":"/","sidebar":"tutorialSidebar"},{"id":"import-content/files-app","path":"/import-content/files-app","sidebar":"tutorialSidebar"},{"id":"import-content/icloud-drive","path":"/import-content/icloud-drive","sidebar":"tutorialSidebar"},{"id":"import-content/import-services","path":"/import-content/import-services","sidebar":"tutorialSidebar"},{"id":"import-content/opds","path":"/import-content/opds","sidebar":"tutorialSidebar"},{"id":"import-content/supported-files","path":"/import-content/supported-files","sidebar":"tutorialSidebar"},{"id":"misc/change-app-language","path":"/misc/change-app-language","sidebar":"tutorialSidebar"},{"id":"misc/moving-to-new-device","path":"/misc/moving-to-new-device","sidebar":"tutorialSidebar"},{"id":"misc/sync-reading-sessions","path":"/misc/sync-reading-sessions","sidebar":"tutorialSidebar"},{"id":"organize-content/multiple-libraries","path":"/organize-content/multiple-libraries","sidebar":"tutorialSidebar"},{"id":"read-content/incognito-mode","path":"/read-content/incognito-mode","sidebar":"tutorialSidebar"},{"id":"read-content/live-text","path":"/read-content/live-text","sidebar":"tutorialSidebar"},{"id":"read-content/lock-zoom","path":"/read-content/lock-zoom","sidebar":"tutorialSidebar"},{"id":"read-content/reader-configurations","path":"/read-content/reader-configurations","sidebar":"tutorialSidebar"},{"id":"/category/importing-content","path":"/category/importing-content","sidebar":"tutorialSidebar"},{"id":"/category/organizing-content","path":"/category/organizing-content","sidebar":"tutorialSidebar"},{"id":"/category/reading-content","path":"/category/reading-content","sidebar":"tutorialSidebar"},{"id":"/category/miscelaneous","path":"/category/miscelaneous","sidebar":"tutorialSidebar"},{"id":"/category/faqs","path":"/category/faqs","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/","label":"getting-started"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var l=n(2654);const s=JSON.parse('{"docusaurusVersion":"3.1.1","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.1.1"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.1.1"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.1.1"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.1.1"}}}');var u=n(4848);const c={siteConfig:a.A,siteMetadata:s,globalData:o,i18n:i,codeTranslations:l},d=r.createContext(c);function p(e){let{children:t}=e;return(0,u.jsx)(d.Provider,{value:c,children:t})}},7489:(e,t,n)=>{"use strict";n.d(t,{A:()=>f});var r=n(6540),a=n(8193),o=n(5260),i=n(440),l=n(781),s=n(4848);function u(e){let{error:t,tryAgain:n}=e;return(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,s.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,s.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,s.jsx)(c,{error:t})]})}function c(e){let{error:t}=e;const n=(0,i.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,s.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function d(e){let{error:t,tryAgain:n}=e;return(0,s.jsxs)(f,{fallback:()=>(0,s.jsx)(u,{error:t,tryAgain:n}),children:[(0,s.jsx)(o.A,{children:(0,s.jsx)("title",{children:"Page Error"})}),(0,s.jsx)(l.A,{children:(0,s.jsx)(u,{error:t,tryAgain:n})})]})}const p=e=>(0,s.jsx)(d,{...e});class f extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){a.A.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??p)(e)}return e??null}}},8193:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,a={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},5260:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});n(6540);var r=n(545),a=n(4848);function o(e){return(0,a.jsx)(r.mg,{...e})}},8774:(e,t,n)=>{"use strict";n.d(t,{A:()=>f});var r=n(6540),a=n(4625),o=n(440),i=n(4586),l=n(6654),s=n(8193),u=n(3427),c=n(6025),d=n(4848);function p(e,t){let{isNavLink:n,to:p,href:f,activeClassName:m,isActive:g,"data-noBrokenLinkCheck":h,autoAddBaseUrl:y=!0,...b}=e;const{siteConfig:{trailingSlash:v,baseUrl:w}}=(0,i.A)(),{withBaseUrl:k}=(0,c.h)(),x=(0,u.A)(),S=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,(()=>S.current));const E=p||f;const C=(0,l.A)(E),A=E?.replace("pathname://","");let _=void 0!==A?(T=A,y&&(e=>e.startsWith("/"))(T)?k(T):T):void 0;var T;_&&C&&(_=(0,o.applyTrailingSlash)(_,{trailingSlash:v,baseUrl:w}));const j=(0,r.useRef)(!1),N=n?a.k2:a.N_,L=s.A.canUseIntersectionObserver,R=(0,r.useRef)(),P=()=>{j.current||null==_||(window.docusaurus.preload(_),j.current=!0)};(0,r.useEffect)((()=>(!L&&C&&null!=_&&window.docusaurus.prefetch(_),()=>{L&&R.current&&R.current.disconnect()})),[R,_,L,C]);const O=_?.startsWith("#")??!1,D=!b.target||"_self"===b.target,F=!_||!C||!D||O;return h||!O&&F||x.collectLink(_),b.id&&x.collectAnchor(b.id),F?(0,d.jsx)("a",{ref:S,href:_,...E&&!C&&{target:"_blank",rel:"noopener noreferrer"},...b}):(0,d.jsx)(N,{...b,onMouseEnter:P,onTouchStart:P,innerRef:e=>{S.current=e,L&&e&&C&&(R.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(R.current.unobserve(e),R.current.disconnect(),null!=_&&window.docusaurus.prefetch(_))}))})),R.current.observe(e))},to:_,...n&&{isActive:g,activeClassName:m}})}const f=r.forwardRef(p)},418:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});const r=()=>null},1312:(e,t,n)=>{"use strict";n.d(t,{A:()=>u,T:()=>s});var r=n(6540),a=n(4848);function o(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var i=n(2654);function l(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[t??n]??n??t}function s(e,t){let{message:n,id:r}=e;return o(l({message:n,id:r}),t)}function u(e){let{children:t,id:n,values:r}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");const i=l({message:t,id:n});return(0,a.jsx)(a.Fragment,{children:o(i,r)})}},7065:(e,t,n)=>{"use strict";n.d(t,{W:()=>r});const r="default"},6654:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{A:()=>a,z:()=>r})},6025:(e,t,n)=>{"use strict";n.d(t,{A:()=>l,h:()=>i});var r=n(6540),a=n(4586),o=n(6654);function i(){const{siteConfig:{baseUrl:e,url:t}}=(0,a.A)(),n=(0,r.useCallback)(((n,r)=>function(e,t,n,r){let{forcePrependBaseUrl:a=!1,absolute:i=!1}=void 0===r?{}:r;if(!n||n.startsWith("#")||(0,o.z)(n))return n;if(a)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const l=n.startsWith(t)?n:t+n.replace(/^\//,"");return i?e+l:l}(t,e,n,r)),[t,e]);return{withBaseUrl:n}}function l(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},3427:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=n(6540);n(4848);const a=r.createContext({collectAnchor:()=>{},collectLink:()=>{}}),o=()=>(0,r.useContext)(a);function i(){return o()}},4586:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(6540),a=n(6988);function o(){return(0,r.useContext)(a.o)}},2303:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(6540),a=n(6125);function o(){return(0,r.useContext)(a.o)}},205:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(6540);const a=n(8193).A.canUseDOM?r.useLayoutEffect:r.useEffect},6921:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function a(e){const t={};return function e(n,a){Object.entries(n).forEach((n=>{let[o,i]=n;const l=a?`${a}.${o}`:o;r(i)?e(i,l):t[l]=i}))}(e),t}},3102:(e,t,n)=>{"use strict";n.d(t,{W:()=>i,o:()=>o});var r=n(6540),a=n(4848);const o=r.createContext(null);function i(e){let{children:t,value:n}=e;const i=r.useContext(o),l=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:i,value:n})),[i,n]);return(0,a.jsx)(o.Provider,{value:l,children:t})}},4070:(e,t,n)=>{"use strict";n.d(t,{zK:()=>g,vT:()=>p,Gy:()=>c,HW:()=>h,ht:()=>d,r7:()=>m,jh:()=>f});var r=n(6347),a=n(4586),o=n(7065);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,a.A)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const l=e=>e.versions.find((e=>e.isLast));function s(e,t){const n=function(e,t){const n=l(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,r.B6)(t,{path:e.path,exact:!1,strict:!1})))}(e,t),a=n?.docs.find((e=>!!(0,r.B6)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:a,alternateDocVersions:a?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(a.id):{}}}const u={},c=()=>i("docusaurus-plugin-content-docs")??u,d=e=>function(e,t,n){void 0===t&&(t=o.W),void 0===n&&(n={});const r=i(e),a=r?.[t];if(!a&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return a}("docusaurus-plugin-content-docs",e,{failfast:!0});function p(e){void 0===e&&(e={});const t=c(),{pathname:n}=(0,r.zy)();return function(e,t,n){void 0===n&&(n={});const a=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.B6)(t,{path:n.path,exact:!1,strict:!1})})),o=a?{pluginId:a[0],pluginData:a[1]}:void 0;if(!o&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return o}(t,n,e)}function f(e){return d(e).versions}function m(e){const t=d(e);return l(t)}function g(e){const t=d(e),{pathname:n}=(0,r.zy)();return s(t,n)}function h(e){const t=d(e),{pathname:n}=(0,r.zy)();return function(e,t){const n=l(e);return{latestDocSuggestion:s(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},6294:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});var r=n(5947),a=n.n(r);a().configure({showSpinner:!1});const o={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{a().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){a().done()}}},6134:(e,t,n)=>{"use strict";n.r(t);var r=n(1765),a=n(4784);!function(e){const{themeConfig:{prism:t}}=a.A,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{"php"===e&&n(9700),n(8692)(`./prism-${e}`)})),delete globalThis.Prism}(r.My)},1107:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});n(6540);var r=n(4164),a=n(1312),o=n(6342),i=n(8774),l=n(3427);const s={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};var u=n(4848);function c(e){let{as:t,id:n,...c}=e;const d=(0,l.A)(),{navbar:{hideOnScroll:p}}=(0,o.p)();if("h1"===t||!n)return(0,u.jsx)(t,{...c,id:void 0});d.collectAnchor(n);const f=(0,a.T)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof c.children?c.children:n});return(0,u.jsxs)(t,{...c,className:(0,r.A)("anchor",p?s.anchorWithHideOnScrollNavbar:s.anchorWithStickyNavbar,c.className),id:n,children:[c.children,(0,u.jsx)(i.A,{className:"hash-link",to:`#${n}`,"aria-label":f,title:f,children:"\u200b"})]})}},3186:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});n(6540);const r={iconExternalLink:"iconExternalLink_nPIU"};var a=n(4848);function o(e){let{width:t=13.5,height:n=13.5}=e;return(0,a.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:r.iconExternalLink,children:(0,a.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},781:(e,t,n)=>{"use strict";n.d(t,{A:()=>ft});var r=n(6540),a=n(4164),o=n(7489),i=n(1003),l=n(6347),s=n(1312),u=n(5062),c=n(4848);const d="__docusaurus_skipToContent_fallback";function p(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function f(){const e=(0,r.useRef)(null),{action:t}=(0,l.W6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&p(t)}),[]);return(0,u.$)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&p(e.current)})),{containerRef:e,onClick:n}}const m=(0,s.T)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function g(e){const t=e.children??m,{containerRef:n,onClick:r}=f();return(0,c.jsx)("div",{ref:n,role:"region","aria-label":m,children:(0,c.jsx)("a",{...e,href:`#${d}`,onClick:r,children:t})})}var h=n(7559),y=n(4090);const b={skipToContent:"skipToContent_fXgn"};function v(){return(0,c.jsx)(g,{className:b.skipToContent})}var w=n(6342),k=n(5041);function x(e){let{width:t=21,height:n=21,color:r="currentColor",strokeWidth:a=1.2,className:o,...i}=e;return(0,c.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...i,children:(0,c.jsx)("g",{stroke:r,strokeWidth:a,children:(0,c.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const S={closeButton:"closeButton_CVFx"};function E(e){return(0,c.jsx)("button",{type:"button","aria-label":(0,s.T)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,a.A)("clean-btn close",S.closeButton,e.className),children:(0,c.jsx)(x,{width:14,height:14,strokeWidth:3.1})})}const C={content:"content_knG7"};function A(e){const{announcementBar:t}=(0,w.p)(),{content:n}=t;return(0,c.jsx)("div",{...e,className:(0,a.A)(C.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const _={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function T(){const{announcementBar:e}=(0,w.p)(),{isActive:t,close:n}=(0,k.Mj)();if(!t)return null;const{backgroundColor:r,textColor:a,isCloseable:o}=e;return(0,c.jsxs)("div",{className:_.announcementBar,style:{backgroundColor:r,color:a},role:"banner",children:[o&&(0,c.jsx)("div",{className:_.announcementBarPlaceholder}),(0,c.jsx)(A,{className:_.announcementBarContent}),o&&(0,c.jsx)(E,{onClick:n,className:_.announcementBarClose})]})}var j=n(9876),N=n(3104);var L=n(9532),R=n(5600);const P=r.createContext(null);function O(e){let{children:t}=e;const n=function(){const e=(0,j.M)(),t=(0,R.YL)(),[n,a]=(0,r.useState)(!1),o=null!==t.component,i=(0,L.ZC)(o);return(0,r.useEffect)((()=>{o&&!i&&a(!0)}),[o,i]),(0,r.useEffect)((()=>{o?e.shown||a(!0):a(!1)}),[e.shown,o]),(0,r.useMemo)((()=>[n,a]),[n])}();return(0,c.jsx)(P.Provider,{value:n,children:t})}function D(e){if(e.component){const t=e.component;return(0,c.jsx)(t,{...e.props})}}function F(){const e=(0,r.useContext)(P);if(!e)throw new L.dV("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,a=(0,r.useCallback)((()=>n(!1)),[n]),o=(0,R.YL)();return(0,r.useMemo)((()=>({shown:t,hide:a,content:D(o)})),[a,o,t])}function I(e){let{header:t,primaryMenu:n,secondaryMenu:r}=e;const{shown:o}=F();return(0,c.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,c.jsxs)("div",{className:(0,a.A)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":o}),children:[(0,c.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,c.jsx)("div",{className:"navbar-sidebar__item menu",children:r})]})]})}var M=n(5293),z=n(2303);function B(e){return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,c.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function $(e){return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,c.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const U={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function q(e){let{className:t,buttonClassName:n,value:r,onChange:o}=e;const i=(0,z.A)(),l=(0,s.T)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===r?(0,s.T)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,s.T)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,c.jsx)("div",{className:(0,a.A)(U.toggle,t),children:(0,c.jsxs)("button",{className:(0,a.A)("clean-btn",U.toggleButton,!i&&U.toggleButtonDisabled,n),type:"button",onClick:()=>o("dark"===r?"light":"dark"),disabled:!i,title:l,"aria-label":l,"aria-live":"polite",children:[(0,c.jsx)(B,{className:(0,a.A)(U.toggleIcon,U.lightToggleIcon)}),(0,c.jsx)($,{className:(0,a.A)(U.toggleIcon,U.darkToggleIcon)})]})})}const H=r.memo(q),G={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function V(e){let{className:t}=e;const n=(0,w.p)().navbar.style,r=(0,w.p)().colorMode.disableSwitch,{colorMode:a,setColorMode:o}=(0,M.G)();return r?null:(0,c.jsx)(H,{className:t,buttonClassName:"dark"===n?G.darkNavbarColorModeToggle:void 0,value:a,onChange:o})}var W=n(3465);function Q(){return(0,c.jsx)(W.A,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function K(){const e=(0,j.M)();return(0,c.jsx)("button",{type:"button","aria-label":(0,s.T)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,c.jsx)(x,{color:"var(--ifm-color-emphasis-600)"})})}function Y(){return(0,c.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,c.jsx)(Q,{}),(0,c.jsx)(V,{className:"margin-right--md"}),(0,c.jsx)(K,{})]})}var Z=n(8774),X=n(6025),J=n(6654);function ee(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var te=n(3186);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:r,href:a,label:o,html:i,isDropdownLink:l,prependBaseUrlToHref:s,...u}=e;const d=(0,X.A)(r),p=(0,X.A)(t),f=(0,X.A)(a,{forcePrependBaseUrl:!0}),m=o&&a&&!(0,J.A)(a),g=i?{dangerouslySetInnerHTML:{__html:i}}:{children:(0,c.jsxs)(c.Fragment,{children:[o,m&&(0,c.jsx)(te.A,{...l&&{width:12,height:12}})]})};return a?(0,c.jsx)(Z.A,{href:s?f:a,...u,...g}):(0,c.jsx)(Z.A,{to:d,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?ee(n,t.pathname):t.pathname.startsWith(p)},...u,...g})}function re(e){let{className:t,isDropdownItem:n=!1,...r}=e;const o=(0,c.jsx)(ne,{className:(0,a.A)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...r});return n?(0,c.jsx)("li",{children:o}):o}function ae(e){let{className:t,isDropdownItem:n,...r}=e;return(0,c.jsx)("li",{className:"menu__list-item",children:(0,c.jsx)(ne,{className:(0,a.A)("menu__link",t),...r})})}function oe(e){let{mobile:t=!1,position:n,...r}=e;const a=t?ae:re;return(0,c.jsx)(a,{...r,activeClassName:r.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var ie=n(1422),le=n(9169),se=n(4586);const ue={dropdownNavbarItemMobile:"dropdownNavbarItemMobile_S0Fm"};function ce(e,t){return e.some((e=>function(e,t){return!!(0,le.ys)(e.to,t)||!!ee(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function de(e){let{items:t,position:n,className:o,onClick:i,...l}=e;const s=(0,r.useRef)(null),[u,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{s.current&&!s.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[s]),(0,c.jsxs)("div",{ref:s,className:(0,a.A)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":u}),children:[(0,c.jsx)(ne,{"aria-haspopup":"true","aria-expanded":u,role:"button",href:l.to?void 0:"#",className:(0,a.A)("navbar__link",o),...l,onClick:l.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!u))},children:l.children??l.label}),(0,c.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,r.createElement)(Ce,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function pe(e){let{items:t,className:n,position:o,onClick:i,...s}=e;const u=function(){const{siteConfig:{baseUrl:e}}=(0,se.A)(),{pathname:t}=(0,l.zy)();return t.replace(e,"/")}(),d=ce(t,u),{collapsed:p,toggleCollapsed:f,setCollapsed:m}=(0,ie.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&m(!d)}),[u,d,m]),(0,c.jsxs)("li",{className:(0,a.A)("menu__list-item",{"menu__list-item--collapsed":p}),children:[(0,c.jsx)(ne,{role:"button",className:(0,a.A)(ue.dropdownNavbarItemMobile,"menu__link menu__link--sublist menu__link--sublist-caret",n),...s,onClick:e=>{e.preventDefault(),f()},children:s.children??s.label}),(0,c.jsx)(ie.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:p,children:t.map(((e,t)=>(0,r.createElement)(Ce,{mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active",...e,key:t})))})]})}function fe(e){let{mobile:t=!1,...n}=e;const r=t?pe:de;return(0,c.jsx)(r,{...n})}var me=n(2131);function ge(e){let{width:t=20,height:n=20,...r}=e;return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...r,children:(0,c.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}const he="iconLanguage_nlXk";var ye=n(418);const be={navbarSearchContainer:"navbarSearchContainer_Bca1"};function ve(e){let{children:t,className:n}=e;return(0,c.jsx)("div",{className:(0,a.A)(n,be.navbarSearchContainer),children:t})}var we=n(4070),ke=n(1754);var xe=n(5597);const Se=e=>e.docs.find((t=>t.id===e.mainDocId));const Ee={default:oe,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:r,queryString:a="",...o}=e;const{i18n:{currentLocale:i,locales:u,localeConfigs:d}}=(0,se.A)(),p=(0,me.o)(),{search:f,hash:m}=(0,l.zy)(),g=[...n,...u.map((e=>{const n=`${`pathname://${p.createUrl({locale:e,fullyQualified:!1})}`}${f}${m}${a}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...r],h=t?(0,s.T)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return(0,c.jsx)(fe,{...o,mobile:t,label:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(ge,{className:he}),h]}),items:g})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,c.jsx)(ve,{className:n,children:(0,c.jsx)(ye.A,{})})},dropdown:fe,html:function(e){let{value:t,className:n,mobile:r=!1,isDropdownItem:o=!1}=e;const i=o?"li":"div";return(0,c.jsx)(i,{className:(0,a.A)({navbar__item:!r&&!o,"menu__list-item":r},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:r,...a}=e;const{activeDoc:o}=(0,we.zK)(r),i=(0,ke.QB)(t,r),l=o?.path===i?.path;return null===i||i.unlisted&&!l?null:(0,c.jsx)(oe,{exact:!0,...a,isActive:()=>l||!!o?.sidebar&&o.sidebar===i.sidebar,label:n??i.id,to:i.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:r,...a}=e;const{activeDoc:o}=(0,we.zK)(r),i=(0,ke.fW)(t,r).link;if(!i)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,c.jsx)(oe,{exact:!0,...a,isActive:()=>o?.sidebar===t,label:n??i.label,to:i.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:r,...a}=e;const o=(0,ke.Vd)(r)[0],i=t??o.label,l=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(o).path;return(0,c.jsx)(oe,{...a,label:i,to:l})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:r,dropdownItemsBefore:a,dropdownItemsAfter:o,...i}=e;const{search:u,hash:d}=(0,l.zy)(),p=(0,we.zK)(n),f=(0,we.jh)(n),{savePreferredVersionName:m}=(0,xe.g1)(n),g=[...a,...f.map((e=>{const t=p.alternateDocVersions[e.name]??Se(e);return{label:e.label,to:`${t.path}${u}${d}`,isActive:()=>e===p.activeVersion,onClick:()=>m(e.name)}})),...o],h=(0,ke.Vd)(n)[0],y=t&&g.length>1?(0,s.T)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):h.label,b=t&&g.length>1?void 0:Se(h).path;return g.length<=1?(0,c.jsx)(oe,{...i,mobile:t,label:y,to:b,isActive:r?()=>!1:void 0}):(0,c.jsx)(fe,{...i,mobile:t,label:y,to:b,items:g,isActive:r?()=>!1:void 0})}};function Ce(e){let{type:t,...n}=e;const r=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),a=Ee[r];if(!a)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,c.jsx)(a,{...n})}function Ae(){const e=(0,j.M)(),t=(0,w.p)().navbar.items;return(0,c.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,r.createElement)(Ce,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function _e(e){return(0,c.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,c.jsx)(s.A,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function Te(){const e=0===(0,w.p)().navbar.items.length,t=F();return(0,c.jsxs)(c.Fragment,{children:[!e&&(0,c.jsx)(_e,{onClick:()=>t.hide()}),t.content]})}function je(){const e=(0,j.M)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?(0,c.jsx)(I,{header:(0,c.jsx)(Y,{}),primaryMenu:(0,c.jsx)(Ae,{}),secondaryMenu:(0,c.jsx)(Te,{})}):null}const Ne={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Le(e){return(0,c.jsx)("div",{role:"presentation",...e,className:(0,a.A)("navbar-sidebar__backdrop",e.className)})}function Re(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:o}}=(0,w.p)(),i=(0,j.M)(),{navbarRef:l,isNavbarVisible:d}=function(e){const[t,n]=(0,r.useState)(e),a=(0,r.useRef)(!1),o=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(o.current=e.getBoundingClientRect().height)}),[]);return(0,N.Mq)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i=l?n(!1):i+u{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return a.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return(0,c.jsxs)("nav",{ref:l,"aria-label":(0,s.T)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,a.A)("navbar","navbar--fixed-top",n&&[Ne.navbarHideable,!d&&Ne.navbarHidden],{"navbar--dark":"dark"===o,"navbar--primary":"primary"===o,"navbar-sidebar--show":i.shown}),children:[t,(0,c.jsx)(Le,{onClick:i.toggle}),(0,c.jsx)(je,{})]})}var Pe=n(440);const Oe={errorBoundaryError:"errorBoundaryError_a6uf",errorBoundaryFallback:"errorBoundaryFallback_VBag"};function De(e){return(0,c.jsx)("button",{type:"button",...e,children:(0,c.jsx)(s.A,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function Fe(e){let{error:t}=e;const n=(0,Pe.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,c.jsx)("p",{className:Oe.errorBoundaryError,children:n})}class Ie extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const Me="right";function ze(e){let{width:t=30,height:n=30,className:r,...a}=e;return(0,c.jsx)("svg",{className:r,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...a,children:(0,c.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function Be(){const{toggle:e,shown:t}=(0,j.M)();return(0,c.jsx)("button",{onClick:e,"aria-label":(0,s.T)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,c.jsx)(ze,{})})}const $e={colorModeToggle:"colorModeToggle_DEke"};function Ue(e){let{items:t}=e;return(0,c.jsx)(c.Fragment,{children:t.map(((e,t)=>(0,c.jsx)(Ie,{onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,c.jsx)(Ce,{...e})},t)))})}function qe(e){let{left:t,right:n}=e;return(0,c.jsxs)("div",{className:"navbar__inner",children:[(0,c.jsx)("div",{className:"navbar__items",children:t}),(0,c.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function He(){const e=(0,j.M)(),t=(0,w.p)().navbar.items,[n,r]=function(e){function t(e){return"left"===(e.position??Me)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),a=t.find((e=>"search"===e.type));return(0,c.jsx)(qe,{left:(0,c.jsxs)(c.Fragment,{children:[!e.disabled&&(0,c.jsx)(Be,{}),(0,c.jsx)(Q,{}),(0,c.jsx)(Ue,{items:n})]}),right:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(Ue,{items:r}),(0,c.jsx)(V,{className:$e.colorModeToggle}),!a&&(0,c.jsx)(ve,{children:(0,c.jsx)(ye.A,{})})]})})}function Ge(){return(0,c.jsx)(Re,{children:(0,c.jsx)(He,{})})}function Ve(e){let{item:t}=e;const{to:n,href:r,label:a,prependBaseUrlToHref:o,...i}=t,l=(0,X.A)(n),s=(0,X.A)(r,{forcePrependBaseUrl:!0});return(0,c.jsxs)(Z.A,{className:"footer__link-item",...r?{href:o?s:r}:{to:l},...i,children:[a,r&&!(0,J.A)(r)&&(0,c.jsx)(te.A,{})]})}function We(e){let{item:t}=e;return t.html?(0,c.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,c.jsx)("li",{className:"footer__item",children:(0,c.jsx)(Ve,{item:t})},t.href??t.to)}function Qe(e){let{column:t}=e;return(0,c.jsxs)("div",{className:"col footer__col",children:[(0,c.jsx)("div",{className:"footer__title",children:t.title}),(0,c.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,c.jsx)(We,{item:e},t)))})]})}function Ke(e){let{columns:t}=e;return(0,c.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,c.jsx)(Qe,{column:e},t)))})}function Ye(){return(0,c.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function Ze(e){let{item:t}=e;return t.html?(0,c.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,c.jsx)(Ve,{item:t})}function Xe(e){let{links:t}=e;return(0,c.jsx)("div",{className:"footer__links text--center",children:(0,c.jsx)("div",{className:"footer__links",children:t.map(((e,n)=>(0,c.jsxs)(r.Fragment,{children:[(0,c.jsx)(Ze,{item:e}),t.length!==n+1&&(0,c.jsx)(Ye,{})]},n)))})})}function Je(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,c.jsx)(Ke,{columns:t}):(0,c.jsx)(Xe,{links:t})}var et=n(1122);const tt={footerLogoLink:"footerLogoLink_BH7S"};function nt(e){let{logo:t}=e;const{withBaseUrl:n}=(0,X.h)(),r={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,c.jsx)(et.A,{className:(0,a.A)("footer__logo",t.className),alt:t.alt,sources:r,width:t.width,height:t.height,style:t.style})}function rt(e){let{logo:t}=e;return t.href?(0,c.jsx)(Z.A,{href:t.href,className:tt.footerLogoLink,target:t.target,children:(0,c.jsx)(nt,{logo:t})}):(0,c.jsx)(nt,{logo:t})}function at(e){let{copyright:t}=e;return(0,c.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function ot(e){let{style:t,links:n,logo:r,copyright:o}=e;return(0,c.jsx)("footer",{className:(0,a.A)("footer",{"footer--dark":"dark"===t}),children:(0,c.jsxs)("div",{className:"container container-fluid",children:[n,(r||o)&&(0,c.jsxs)("div",{className:"footer__bottom text--center",children:[r&&(0,c.jsx)("div",{className:"margin-bottom--sm",children:r}),o]})]})})}function it(){const{footer:e}=(0,w.p)();if(!e)return null;const{copyright:t,links:n,logo:r,style:a}=e;return(0,c.jsx)(ot,{style:a,links:n&&n.length>0&&(0,c.jsx)(Je,{links:n}),logo:r&&(0,c.jsx)(rt,{logo:r}),copyright:t&&(0,c.jsx)(at,{copyright:t})})}const lt=r.memo(it),st=(0,L.fM)([M.a,k.oq,N.Tv,xe.VQ,i.Jx,function(e){let{children:t}=e;return(0,c.jsx)(R.y_,{children:(0,c.jsx)(j.e,{children:(0,c.jsx)(O,{children:t})})})}]);function ut(e){let{children:t}=e;return(0,c.jsx)(st,{children:t})}var ct=n(1107);function dt(e){let{error:t,tryAgain:n}=e;return(0,c.jsx)("main",{className:"container margin-vert--xl",children:(0,c.jsx)("div",{className:"row",children:(0,c.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,c.jsx)(ct.A,{as:"h1",className:"hero__title",children:(0,c.jsx)(s.A,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,c.jsx)("div",{className:"margin-vert--lg",children:(0,c.jsx)(De,{onClick:n,className:"button button--primary shadow--lw"})}),(0,c.jsx)("hr",{}),(0,c.jsx)("div",{className:"margin-vert--md",children:(0,c.jsx)(Fe,{error:t})})]})})})}const pt={mainWrapper:"mainWrapper_z2l0"};function ft(e){const{children:t,noFooter:n,wrapperClassName:r,title:l,description:s}=e;return(0,y.J)(),(0,c.jsxs)(ut,{children:[(0,c.jsx)(i.be,{title:l,description:s}),(0,c.jsx)(v,{}),(0,c.jsx)(T,{}),(0,c.jsx)(Ge,{}),(0,c.jsx)("div",{id:d,className:(0,a.A)(h.G.wrapper.main,pt.mainWrapper,r),children:(0,c.jsx)(o.A,{fallback:e=>(0,c.jsx)(dt,{...e}),children:t})}),!n&&(0,c.jsx)(lt,{})]})}},3465:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});n(6540);var r=n(8774),a=n(6025),o=n(4586),i=n(6342),l=n(1122),s=n(4848);function u(e){let{logo:t,alt:n,imageClassName:r}=e;const o={light:(0,a.A)(t.src),dark:(0,a.A)(t.srcDark||t.src)},i=(0,s.jsx)(l.A,{className:t.className,sources:o,height:t.height,width:t.width,alt:n,style:t.style});return r?(0,s.jsx)("div",{className:r,children:i}):i}function c(e){const{siteConfig:{title:t}}=(0,o.A)(),{navbar:{title:n,logo:l}}=(0,i.p)(),{imageClassName:c,titleClassName:d,...p}=e,f=(0,a.A)(l?.href||"/"),m=n?"":t,g=l?.alt??m;return(0,s.jsxs)(r.A,{to:f,...p,...l?.target&&{target:l.target},children:[l&&(0,s.jsx)(u,{logo:l,alt:g,imageClassName:c}),null!=n&&(0,s.jsx)("b",{className:d,children:n})]})}},1463:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});n(6540);var r=n(5260),a=n(4848);function o(e){let{locale:t,version:n,tag:o}=e;const i=t;return(0,a.jsxs)(r.A,{children:[t&&(0,a.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,a.jsx)("meta",{name:"docusaurus_version",content:n}),o&&(0,a.jsx)("meta",{name:"docusaurus_tag",content:o}),i&&(0,a.jsx)("meta",{name:"docsearch:language",content:i}),n&&(0,a.jsx)("meta",{name:"docsearch:version",content:n}),o&&(0,a.jsx)("meta",{name:"docsearch:docusaurus_tag",content:o})]})}},1122:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});var r=n(6540),a=n(4164),o=n(2303),i=n(5293);const l={themedComponent:"themedComponent_mlkZ","themedComponent--light":"themedComponent--light_NVdE","themedComponent--dark":"themedComponent--dark_xIcU"};var s=n(4848);function u(e){let{className:t,children:n}=e;const u=(0,o.A)(),{colorMode:c}=(0,i.G)();return(0,s.jsx)(s.Fragment,{children:(u?"dark"===c?["dark"]:["light"]:["light","dark"]).map((e=>{const o=n({theme:e,className:(0,a.A)(t,l.themedComponent,l[`themedComponent--${e}`])});return(0,s.jsx)(r.Fragment,{children:o},e)}))})}function c(e){const{sources:t,className:n,alt:r,...a}=e;return(0,s.jsx)(u,{className:n,children:e=>{let{theme:n,className:o}=e;return(0,s.jsx)("img",{src:t[n],alt:r,className:o,...a})}})}},1422:(e,t,n)=>{"use strict";n.d(t,{N:()=>y,u:()=>u});var r=n(6540),a=n(8193),o=n(205),i=n(3109),l=n(4848);const s="ease-in-out";function u(e){let{initialState:t}=e;const[n,a]=(0,r.useState)(t??!1),o=(0,r.useCallback)((()=>{a((e=>!e))}),[]);return{collapsed:n,setCollapsed:a,toggleCollapsed:o}}const c={display:"none",overflow:"hidden",height:"0px"},d={display:"block",overflow:"visible",height:"auto"};function p(e,t){const n=t?c:d;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function f(e){let{collapsibleRef:t,collapsed:n,animation:a}=e;const o=(0,r.useRef)(!1);(0,r.useEffect)((()=>{const e=t.current;function r(){const t=e.scrollHeight,n=a?.duration??function(e){if((0,i.O)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${a?.easing??s}`,height:`${t}px`}}function l(){const t=r();e.style.transition=t.transition,e.style.height=t.height}if(!o.current)return p(e,n),void(o.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(l(),requestAnimationFrame((()=>{e.style.height=c.height,e.style.overflow=c.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{l()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,a])}function m(e){if(!a.A.canUseDOM)return e?c:d}function g(e){let{as:t="div",collapsed:n,children:a,animation:o,onCollapseTransitionEnd:i,className:s,disableSSRStyle:u}=e;const c=(0,r.useRef)(null);return f({collapsibleRef:c,collapsed:n,animation:o}),(0,l.jsx)(t,{ref:c,style:u?void 0:m(n),onTransitionEnd:e=>{"height"===e.propertyName&&(p(c.current,n),i?.(n))},className:s,children:a})}function h(e){let{collapsed:t,...n}=e;const[a,i]=(0,r.useState)(!t),[s,u]=(0,r.useState)(t);return(0,o.A)((()=>{t||i(!0)}),[t]),(0,o.A)((()=>{a&&u(t)}),[a,t]),a?(0,l.jsx)(g,{...n,collapsed:s}):null}function y(e){let{lazy:t,...n}=e;const r=t?h:g;return(0,l.jsx)(r,{...n})}},5041:(e,t,n)=>{"use strict";n.d(t,{Mj:()=>g,oq:()=>m});var r=n(6540),a=n(2303),o=n(9466),i=n(9532),l=n(6342),s=n(4848);const u=(0,o.Wf)("docusaurus.announcement.dismiss"),c=(0,o.Wf)("docusaurus.announcement.id"),d=()=>"true"===u.get(),p=e=>u.set(String(e)),f=r.createContext(null);function m(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,l.p)(),t=(0,a.A)(),[n,o]=(0,r.useState)((()=>!!t&&d()));(0,r.useEffect)((()=>{o(d())}),[]);const i=(0,r.useCallback)((()=>{p(!0),o(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=c.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;c.set(t),r&&p(!1),!r&&d()||o(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return(0,s.jsx)(f.Provider,{value:n,children:t})}function g(){const e=(0,r.useContext)(f);if(!e)throw new i.dV("AnnouncementBarProvider");return e}},5293:(e,t,n)=>{"use strict";n.d(t,{G:()=>y,a:()=>h});var r=n(6540),a=n(8193),o=n(9532),i=n(9466),l=n(6342),s=n(4848);const u=r.createContext(void 0),c="theme",d=(0,i.Wf)(c),p={light:"light",dark:"dark"},f=e=>e===p.dark?p.dark:p.light,m=e=>a.A.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),g=e=>{d.set(f(e))};function h(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,l.p)(),[a,o]=(0,r.useState)(m(e));(0,r.useEffect)((()=>{t&&d.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:a=!0}=r;t?(o(t),a&&g(t)):(o(n?window.matchMedia("(prefers-color-scheme: dark)").matches?p.dark:p.light:e),d.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",f(a))}),[a]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==c)return;const t=d.get();null!==t&&i(f(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const s=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||s.current?s.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:a,setColorMode:i,get isDarkTheme(){return a===p.dark},setLightTheme(){i(p.light)},setDarkTheme(){i(p.dark)}})),[a,i])}();return(0,s.jsx)(u.Provider,{value:n,children:t})}function y(){const e=(0,r.useContext)(u);if(null==e)throw new o.dV("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},5597:(e,t,n)=>{"use strict";n.d(t,{VQ:()=>y,g1:()=>v});var r=n(6540),a=n(4070),o=n(7065),i=n(6342),l=n(1754),s=n(9532),u=n(9466),c=n(4848);const d=e=>`docs-preferred-version-${e}`,p={save:(e,t,n)=>{(0,u.Wf)(d(e),{persistence:t}).set(n)},read:(e,t)=>(0,u.Wf)(d(e),{persistence:t}).get(),clear:(e,t)=>{(0,u.Wf)(d(e),{persistence:t}).del()}},f=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const m=r.createContext(null);function g(){const e=(0,a.Gy)(),t=(0,i.p)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[o,l]=(0,r.useState)((()=>f(n)));(0,r.useEffect)((()=>{l(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function a(e){const t=p.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(p.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,a(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[o,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){p.save(e,t,n),l((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function h(e){let{children:t}=e;const n=g();return(0,c.jsx)(m.Provider,{value:n,children:t})}function y(e){let{children:t}=e;return l.C5?(0,c.jsx)(h,{children:t}):(0,c.jsx)(c.Fragment,{children:t})}function b(){const e=(0,r.useContext)(m);if(!e)throw new s.dV("DocsPreferredVersionContextProvider");return e}function v(e){void 0===e&&(e=o.W);const t=(0,a.ht)(e),[n,i]=b(),{preferredVersionName:l}=n[e];return{preferredVersion:t.versions.find((e=>e.name===l))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}},6588:(e,t,n)=>{"use strict";n.d(t,{V:()=>s,t:()=>u});var r=n(6540),a=n(9532),o=n(4848);const i=Symbol("EmptyContext"),l=r.createContext(i);function s(e){let{children:t,name:n,items:a}=e;const i=(0,r.useMemo)((()=>n&&a?{name:n,items:a}:null),[n,a]);return(0,o.jsx)(l.Provider,{value:i,children:t})}function u(){const e=(0,r.useContext)(l);if(e===i)throw new a.dV("DocsSidebarProvider");return e}},2252:(e,t,n)=>{"use strict";n.d(t,{n:()=>l,r:()=>s});var r=n(6540),a=n(9532),o=n(4848);const i=r.createContext(null);function l(e){let{children:t,version:n}=e;return(0,o.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(null===e)throw new a.dV("DocsVersionProvider");return e}},9876:(e,t,n)=>{"use strict";n.d(t,{e:()=>f,M:()=>m});var r=n(6540),a=n(5600),o=n(4581),i=n(6347),l=n(9532);function s(e){!function(e){const t=(0,i.W6)(),n=(0,l._q)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}var u=n(6342),c=n(4848);const d=r.createContext(void 0);function p(){const e=function(){const e=(0,a.YL)(),{items:t}=(0,u.p)().navbar;return 0===t.length&&!e.component}(),t=(0,o.l)(),n=!e&&"mobile"===t,[i,l]=(0,r.useState)(!1);s((()=>{if(i)return l(!1),!1}));const c=(0,r.useCallback)((()=>{l((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&l(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:c,shown:i})),[e,n,c,i])}function f(e){let{children:t}=e;const n=p();return(0,c.jsx)(d.Provider,{value:n,children:t})}function m(){const e=r.useContext(d);if(void 0===e)throw new l.dV("NavbarMobileSidebarProvider");return e}},5600:(e,t,n)=>{"use strict";n.d(t,{GX:()=>u,YL:()=>s,y_:()=>l});var r=n(6540),a=n(9532),o=n(4848);const i=r.createContext(null);function l(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return(0,o.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(!e)throw new a.dV("NavbarSecondaryMenuContentProvider");return e[0]}function u(e){let{component:t,props:n}=e;const o=(0,r.useContext)(i);if(!o)throw new a.dV("NavbarSecondaryMenuContentProvider");const[,l]=o,s=(0,a.Be)(n);return(0,r.useEffect)((()=>{l({component:t,props:s})}),[l,t,s]),(0,r.useEffect)((()=>()=>l({component:null,props:null})),[l]),null}},4090:(e,t,n)=>{"use strict";n.d(t,{w:()=>a,J:()=>o});var r=n(6540);const a="navigation-with-keyboard";function o(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(a),"mousedown"===e.type&&document.body.classList.remove(a)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(a),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},4581:(e,t,n)=>{"use strict";n.d(t,{l:()=>l});var r=n(6540),a=n(8193);const o={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function l(e){let{desktopBreakpoint:t=i}=void 0===e?{}:e;const[n,l]=(0,r.useState)((()=>"ssr"));return(0,r.useEffect)((()=>{function e(){l(function(e){if(!a.A.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?o.desktop:o.mobile}(t))}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[t]),n}},7559:(e,t,n)=>{"use strict";n.d(t,{G:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{}}},3109:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{O:()=>r})},1754:(e,t,n)=>{"use strict";n.d(t,{d1:()=>_,Nr:()=>m,w8:()=>b,C5:()=>p,$S:()=>g,cC:()=>f,B5:()=>A,Vd:()=>S,QB:()=>C,fW:()=>E,OF:()=>x,Y:()=>w});var r=n(6540),a=n(6347),o=n(2831),i=n(4070),l=n(5597),s=n(2252),u=n(6588);function c(e){return Array.from(new Set(e))}var d=n(9169);const p=!!i.Gy;function f(e){const t=(0,s.r)();if(!e)return;const n=t.docs[e];if(!n)throw new Error(`no version doc found by id=${e}`);return n}function m(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=m(t);if(e)return e}}(e):void 0:e.href}function g(){const{pathname:e}=(0,a.zy)(),t=(0,u.t)();if(!t)throw new Error("Unexpected: cant find current sidebar in context");const n=k({sidebarItems:t.items,pathname:e,onlyCategories:!0}).slice(-1)[0];if(!n)throw new Error(`${e} is not associated with a category. useCurrentSidebarCategory() should only be used on category index pages.`);return n}const h=(e,t)=>void 0!==e&&(0,d.ys)(e,t),y=(e,t)=>e.some((e=>b(e,t)));function b(e,t){return"link"===e.type?h(e.href,t):"category"===e.type&&(h(e.href,t)||y(e.items,t))}function v(e,t){switch(e.type){case"category":return b(e,t)||e.items.some((e=>v(e,t)));case"link":return!e.unlisted||b(e,t);default:return!0}}function w(e,t){return(0,r.useMemo)((()=>e.filter((e=>v(e,t)))),[e,t])}function k(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const a=[];return function e(t){for(const o of t)if("category"===o.type&&((0,d.ys)(o.href,n)||e(o.items))||"link"===o.type&&(0,d.ys)(o.href,n)){return r&&"category"!==o.type||a.unshift(o),!0}return!1}(t),a}function x(){const e=(0,u.t)(),{pathname:t}=(0,a.zy)(),n=(0,i.vT)()?.pluginData.breadcrumbs;return!1!==n&&e?k({sidebarItems:e.items,pathname:t}):null}function S(e){const{activeVersion:t}=(0,i.zK)(e),{preferredVersion:n}=(0,l.g1)(e),a=(0,i.r7)(e);return(0,r.useMemo)((()=>c([t,n,a].filter(Boolean))),[t,n,a])}function E(e,t){const n=S(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return r[1]}),[e,n])}function C(e,t){const n=S(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${c(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function A(e){let{route:t}=e;const n=(0,a.zy)(),r=(0,s.r)(),i=t.routes,l=i.find((e=>(0,a.B6)(n.pathname,e)));if(!l)return null;const u=l.sidebar,c=u?r.docsSidebars[u]:void 0;return{docElement:(0,o.v)(i),sidebarName:u,sidebarItems:c}}function _(e){return e.filter((e=>!("category"===e.type||"link"===e.type)||!!m(e)))}},1003:(e,t,n)=>{"use strict";n.d(t,{e3:()=>f,be:()=>d,Jx:()=>m});var r=n(6540),a=n(4164),o=n(5260),i=n(3102);function l(){const e=r.useContext(i.o);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var s=n(6025),u=n(4586);var c=n(4848);function d(e){let{title:t,description:n,keywords:r,image:a,children:i}=e;const l=function(e){const{siteConfig:t}=(0,u.A)(),{title:n,titleDelimiter:r}=t;return e?.trim().length?`${e.trim()} ${r} ${n}`:n}(t),{withBaseUrl:d}=(0,s.h)(),p=a?d(a,{absolute:!0}):void 0;return(0,c.jsxs)(o.A,{children:[t&&(0,c.jsx)("title",{children:l}),t&&(0,c.jsx)("meta",{property:"og:title",content:l}),n&&(0,c.jsx)("meta",{name:"description",content:n}),n&&(0,c.jsx)("meta",{property:"og:description",content:n}),r&&(0,c.jsx)("meta",{name:"keywords",content:Array.isArray(r)?r.join(","):r}),p&&(0,c.jsx)("meta",{property:"og:image",content:p}),p&&(0,c.jsx)("meta",{name:"twitter:image",content:p}),i]})}const p=r.createContext(void 0);function f(e){let{className:t,children:n}=e;const i=r.useContext(p),l=(0,a.A)(i,t);return(0,c.jsxs)(p.Provider,{value:l,children:[(0,c.jsx)(o.A,{children:(0,c.jsx)("html",{className:l})}),n]})}function m(e){let{children:t}=e;const n=l(),r=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const o=`plugin-id-${n.plugin.id}`;return(0,c.jsx)(f,{className:(0,a.A)(r,o),children:t})}},9532:(e,t,n)=>{"use strict";n.d(t,{Be:()=>u,ZC:()=>l,_q:()=>i,dV:()=>s,fM:()=>c});var r=n(6540),a=n(205),o=n(4848);function i(e){const t=(0,r.useRef)(e);return(0,a.A)((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function l(e){const t=(0,r.useRef)();return(0,a.A)((()=>{t.current=e})),t.current}class s extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function u(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function c(e){return t=>{let{children:n}=t;return(0,o.jsx)(o.Fragment,{children:e.reduceRight(((e,t)=>(0,o.jsx)(t,{children:e})),n)})}}},9169:(e,t,n)=>{"use strict";n.d(t,{Dt:()=>l,ys:()=>i});var r=n(6540),a=n(8328),o=n(4586);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function l(){const{baseUrl:e}=(0,o.A)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function a(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(a).flatMap((e=>e.routes??[])))}(n)}({routes:a.A,baseUrl:e})),[e])}},3104:(e,t,n)=>{"use strict";n.d(t,{Mq:()=>p,Tv:()=>u,gk:()=>f});var r=n(6540),a=n(8193),o=n(2303),i=(n(205),n(9532)),l=n(4848);const s=r.createContext(void 0);function u(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,l.jsx)(s.Provider,{value:n,children:t})}function c(){const e=(0,r.useContext)(s);if(null==e)throw new i.dV("ScrollControllerProvider");return e}const d=()=>a.A.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function p(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=c(),a=(0,r.useRef)(d()),o=(0,i._q)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=d();o(e,a.current),a.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[o,n,...t])}function f(){const e=(0,r.useRef)(null),t=(0,o.A)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const a=document.documentElement.scrollTop;(n&&a>e||!n&&at&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},2967:(e,t,n)=>{"use strict";n.d(t,{Cy:()=>r,tU:()=>a});n(4586);const r="default";function a(e,t){return`docs-${e}-${t}`}},9466:(e,t,n)=>{"use strict";n.d(t,{Wf:()=>s});n(6540);const r="localStorage";function a(e){let{key:t,oldValue:n,newValue:r,storage:a}=e;if(n===r)return;const o=document.createEvent("StorageEvent");o.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,a),window.dispatchEvent(o)}function o(e){if(void 0===e&&(e=r),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,i||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),i=!0),null}var t}let i=!1;const l={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function s(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(e);const n=o(t?.persistence);return null===n?l:{get:()=>{try{return n.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const r=n.getItem(e);n.setItem(e,t),a({key:e,oldValue:r,newValue:t,storage:n})}catch(r){console.error(`Docusaurus storage error, can't set ${e}=${t}`,r)}},del:()=>{try{const t=n.getItem(e);n.removeItem(e),a({key:e,oldValue:t,newValue:null,storage:n})}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const r=r=>{r.storageArea===n&&r.key===e&&t(r)};return window.addEventListener("storage",r),()=>window.removeEventListener("storage",r)}catch(r){return console.error(`Docusaurus storage error, can't listen for changes of key=${e}`,r),()=>{}}}}}},2131:(e,t,n)=>{"use strict";n.d(t,{o:()=>i});var r=n(4586),a=n(6347),o=n(440);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:l}}=(0,r.A)(),{pathname:s}=(0,a.zy)(),u=(0,o.applyTrailingSlash)(s,{trailingSlash:n,baseUrl:e}),c=l===i?e:e.replace(`/${l}/`,"/"),d=u.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:r}=e;return`${r?t:""}${function(e){return e===i?`${c}`:`${c}${e}/`}(n)}${d}`}}}},5062:(e,t,n)=>{"use strict";n.d(t,{$:()=>i});var r=n(6540),a=n(6347),o=n(9532);function i(e){const t=(0,a.zy)(),n=(0,o.ZC)(t),i=(0,o._q)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},6342:(e,t,n)=>{"use strict";n.d(t,{p:()=>a});var r=n(4586);function a(){return(0,r.A)().siteConfig.themeConfig}},2983:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[a]=e.split(/[#?]/),o="/"===a||a===r?a:(i=a,n?function(e){return e.endsWith("/")?e:`${e}/`}(i):function(e){return e.endsWith("/")?e.slice(0,-1):e}(i));var i;return e.replace(a,o)}},253:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},440:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var a=n(2983);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(a).default}});var o=n(253);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return o.getErrorCausalChain}})},1513:(e,t,n)=>{"use strict";n.d(t,{zR:()=>w,TM:()=>A,yJ:()=>f,sC:()=>T,AO:()=>p});var r=n(8168);function a(e){return"/"===e.charAt(0)}function o(e,t){for(var n=t,r=n+1,a=e.length;r=0;p--){var f=i[p];"."===f?o(i,p):".."===f?(o(i,p),d++):d&&(o(i,p),d--)}if(!u)for(;d--;d)i.unshift("..");!u||""===i[0]||i[0]&&a(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};var l=n(1561);function s(e){return"/"===e.charAt(0)?e:"/"+e}function u(e){return"/"===e.charAt(0)?e.substr(1):e}function c(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function p(e){var t=e.pathname,n=e.search,r=e.hash,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function f(e,t,n,a){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",a=t.indexOf("#");-1!==a&&(r=t.substr(a),t=t.substr(0,a));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),o.state=t):(void 0===(o=(0,r.A)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(l){throw l instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):l}return n&&(o.key=n),a?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=i(o.pathname,a.pathname)):o.pathname=a.pathname:o.pathname||(o.pathname="/"),o}function m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var o="function"==typeof e?e(t,n):e;"string"==typeof o?"function"==typeof r?r(o,a):a(!0):a(!1!==o)}else a(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,a):n.push(a),d({action:r,location:a,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",a=f(e,t,g(),w.location);c.confirmTransitionTo(a,r,n,(function(e){e&&(w.entries[w.index]=a,d({action:r,location:a}))}))},go:v,goBack:function(){v(-1)},goForward:function(){v(1)},canGo:function(e){var t=w.index+e;return t>=0&&t{"use strict";var r=n(4363),a={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},l={};function s(e){return r.isMemo(e)?i:l[e.$$typeof]||a}l[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},l[r.Memo]=i;var u=Object.defineProperty,c=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var a=f(n);a&&a!==m&&e(t,a,r)}var i=c(n);d&&(i=i.concat(d(n)));for(var l=s(t),g=s(n),h=0;h{"use strict";e.exports=function(e,t,n,r,a,o,i,l){if(!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[n,r,a,o,i,l],c=0;(s=new Error(t.replace(/%s/g,(function(){return u[c++]})))).name="Invariant Violation"}throw s.framesToPop=1,s}}},4634:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},119:(e,t,n)=>{"use strict";n.r(t)},1043:(e,t,n)=>{"use strict";n.r(t)},5947:function(e,t,n){var r,a;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
'};function a(e,t,n){return en?n:e}function o(e){return 100*(-1+e)}function i(e,t,n){var a;return(a="translate3d"===r.positionUsing?{transform:"translate3d("+o(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+o(e)+"%,0)"}:{"margin-left":o(e)+"%"}).transition="all "+t+"ms "+n,a}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=a(e,r.minimum,1),n.status=1===e?null:e;var o=n.render(!t),u=o.querySelector(r.barSelector),c=r.speed,d=r.easing;return o.offsetWidth,l((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),s(u,i(e,c,d)),1===e?(s(o,{transition:"none",opacity:1}),o.offsetWidth,setTimeout((function(){s(o,{transition:"all "+c+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),c)}),c)):setTimeout(t,c)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*a(Math.random()*t,.1,.95)),t=a(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");c(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var a,i=t.querySelector(r.barSelector),l=e?"-100":o(n.status||0),u=document.querySelector(r.parent);return s(i,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),r.showSpinner||(a=t.querySelector(r.spinnerSelector))&&f(a),u!=document.body&&c(u,"nprogress-custom-parent"),u.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&f(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var l=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),s=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,a=e.length,o=t.charAt(0).toUpperCase()+t.slice(1);a--;)if((r=e[a]+o)in n)return r;return t}function a(e){return e=n(e),t[e]||(t[e]=r(e))}function o(e,t,n){t=a(t),e.style[t]=n}return function(e,t){var n,r,a=arguments;if(2==a.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&o(e,n,r);else o(e,a[1],a[2])}}();function u(e,t){return("string"==typeof e?e:p(e)).indexOf(" "+t+" ")>=0}function c(e,t){var n=p(e),r=n+t;u(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=p(e);u(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function p(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(a="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=a)},6969:e=>{e.exports&&(e.exports={core:{meta:{path:"components/prism-core.js",option:"mandatory"},core:"Core"},themes:{meta:{path:"themes/{id}.css",link:"index.html?theme={id}",exclusive:!0},prism:{title:"Default",option:"default"},"prism-dark":"Dark","prism-funky":"Funky","prism-okaidia":{title:"Okaidia",owner:"ocodia"},"prism-twilight":{title:"Twilight",owner:"remybach"},"prism-coy":{title:"Coy",owner:"tshedor"},"prism-solarizedlight":{title:"Solarized Light",owner:"hectormatos2011 "},"prism-tomorrow":{title:"Tomorrow Night",owner:"Rosey"}},languages:{meta:{path:"components/prism-{id}",noCSS:!0,examplesPath:"examples/prism-{id}",addCheckAll:!0},markup:{title:"Markup",alias:["html","xml","svg","mathml","ssml","atom","rss"],aliasTitles:{html:"HTML",xml:"XML",svg:"SVG",mathml:"MathML",ssml:"SSML",atom:"Atom",rss:"RSS"},option:"default"},css:{title:"CSS",option:"default",modify:"markup"},clike:{title:"C-like",option:"default"},javascript:{title:"JavaScript",require:"clike",modify:"markup",optional:"regex",alias:"js",option:"default"},abap:{title:"ABAP",owner:"dellagustin"},abnf:{title:"ABNF",owner:"RunDevelopment"},actionscript:{title:"ActionScript",require:"javascript",modify:"markup",owner:"Golmote"},ada:{title:"Ada",owner:"Lucretia"},agda:{title:"Agda",owner:"xy-ren"},al:{title:"AL",owner:"RunDevelopment"},antlr4:{title:"ANTLR4",alias:"g4",owner:"RunDevelopment"},apacheconf:{title:"Apache Configuration",owner:"GuiTeK"},apex:{title:"Apex",require:["clike","sql"],owner:"RunDevelopment"},apl:{title:"APL",owner:"ngn"},applescript:{title:"AppleScript",owner:"Golmote"},aql:{title:"AQL",owner:"RunDevelopment"},arduino:{title:"Arduino",require:"cpp",alias:"ino",owner:"dkern"},arff:{title:"ARFF",owner:"Golmote"},armasm:{title:"ARM Assembly",alias:"arm-asm",owner:"RunDevelopment"},arturo:{title:"Arturo",alias:"art",optional:["bash","css","javascript","markup","markdown","sql"],owner:"drkameleon"},asciidoc:{alias:"adoc",title:"AsciiDoc",owner:"Golmote"},aspnet:{title:"ASP.NET (C#)",require:["markup","csharp"],owner:"nauzilus"},asm6502:{title:"6502 Assembly",owner:"kzurawel"},asmatmel:{title:"Atmel AVR Assembly",owner:"cerkit"},autohotkey:{title:"AutoHotkey",owner:"aviaryan"},autoit:{title:"AutoIt",owner:"Golmote"},avisynth:{title:"AviSynth",alias:"avs",owner:"Zinfidel"},"avro-idl":{title:"Avro IDL",alias:"avdl",owner:"RunDevelopment"},awk:{title:"AWK",alias:"gawk",aliasTitles:{gawk:"GAWK"},owner:"RunDevelopment"},bash:{title:"Bash",alias:["sh","shell"],aliasTitles:{sh:"Shell",shell:"Shell"},owner:"zeitgeist87"},basic:{title:"BASIC",owner:"Golmote"},batch:{title:"Batch",owner:"Golmote"},bbcode:{title:"BBcode",alias:"shortcode",aliasTitles:{shortcode:"Shortcode"},owner:"RunDevelopment"},bbj:{title:"BBj",owner:"hyyan"},bicep:{title:"Bicep",owner:"johnnyreilly"},birb:{title:"Birb",require:"clike",owner:"Calamity210"},bison:{title:"Bison",require:"c",owner:"Golmote"},bnf:{title:"BNF",alias:"rbnf",aliasTitles:{rbnf:"RBNF"},owner:"RunDevelopment"},bqn:{title:"BQN",owner:"yewscion"},brainfuck:{title:"Brainfuck",owner:"Golmote"},brightscript:{title:"BrightScript",owner:"RunDevelopment"},bro:{title:"Bro",owner:"wayward710"},bsl:{title:"BSL (1C:Enterprise)",alias:"oscript",aliasTitles:{oscript:"OneScript"},owner:"Diversus23"},c:{title:"C",require:"clike",owner:"zeitgeist87"},csharp:{title:"C#",require:"clike",alias:["cs","dotnet"],owner:"mvalipour"},cpp:{title:"C++",require:"c",owner:"zeitgeist87"},cfscript:{title:"CFScript",require:"clike",alias:"cfc",owner:"mjclemente"},chaiscript:{title:"ChaiScript",require:["clike","cpp"],owner:"RunDevelopment"},cil:{title:"CIL",owner:"sbrl"},cilkc:{title:"Cilk/C",require:"c",alias:"cilk-c",owner:"OpenCilk"},cilkcpp:{title:"Cilk/C++",require:"cpp",alias:["cilk-cpp","cilk"],owner:"OpenCilk"},clojure:{title:"Clojure",owner:"troglotit"},cmake:{title:"CMake",owner:"mjrogozinski"},cobol:{title:"COBOL",owner:"RunDevelopment"},coffeescript:{title:"CoffeeScript",require:"javascript",alias:"coffee",owner:"R-osey"},concurnas:{title:"Concurnas",alias:"conc",owner:"jasontatton"},csp:{title:"Content-Security-Policy",owner:"ScottHelme"},cooklang:{title:"Cooklang",owner:"ahue"},coq:{title:"Coq",owner:"RunDevelopment"},crystal:{title:"Crystal",require:"ruby",owner:"MakeNowJust"},"css-extras":{title:"CSS Extras",require:"css",modify:"css",owner:"milesj"},csv:{title:"CSV",owner:"RunDevelopment"},cue:{title:"CUE",owner:"RunDevelopment"},cypher:{title:"Cypher",owner:"RunDevelopment"},d:{title:"D",require:"clike",owner:"Golmote"},dart:{title:"Dart",require:"clike",owner:"Golmote"},dataweave:{title:"DataWeave",owner:"machaval"},dax:{title:"DAX",owner:"peterbud"},dhall:{title:"Dhall",owner:"RunDevelopment"},diff:{title:"Diff",owner:"uranusjr"},django:{title:"Django/Jinja2",require:"markup-templating",alias:"jinja2",owner:"romanvm"},"dns-zone-file":{title:"DNS zone file",owner:"RunDevelopment",alias:"dns-zone"},docker:{title:"Docker",alias:"dockerfile",owner:"JustinBeckwith"},dot:{title:"DOT (Graphviz)",alias:"gv",optional:"markup",owner:"RunDevelopment"},ebnf:{title:"EBNF",owner:"RunDevelopment"},editorconfig:{title:"EditorConfig",owner:"osipxd"},eiffel:{title:"Eiffel",owner:"Conaclos"},ejs:{title:"EJS",require:["javascript","markup-templating"],owner:"RunDevelopment",alias:"eta",aliasTitles:{eta:"Eta"}},elixir:{title:"Elixir",owner:"Golmote"},elm:{title:"Elm",owner:"zwilias"},etlua:{title:"Embedded Lua templating",require:["lua","markup-templating"],owner:"RunDevelopment"},erb:{title:"ERB",require:["ruby","markup-templating"],owner:"Golmote"},erlang:{title:"Erlang",owner:"Golmote"},"excel-formula":{title:"Excel Formula",alias:["xlsx","xls"],owner:"RunDevelopment"},fsharp:{title:"F#",require:"clike",owner:"simonreynolds7"},factor:{title:"Factor",owner:"catb0t"},false:{title:"False",owner:"edukisto"},"firestore-security-rules":{title:"Firestore security rules",require:"clike",owner:"RunDevelopment"},flow:{title:"Flow",require:"javascript",owner:"Golmote"},fortran:{title:"Fortran",owner:"Golmote"},ftl:{title:"FreeMarker Template Language",require:"markup-templating",owner:"RunDevelopment"},gml:{title:"GameMaker Language",alias:"gamemakerlanguage",require:"clike",owner:"LiarOnce"},gap:{title:"GAP (CAS)",owner:"RunDevelopment"},gcode:{title:"G-code",owner:"RunDevelopment"},gdscript:{title:"GDScript",owner:"RunDevelopment"},gedcom:{title:"GEDCOM",owner:"Golmote"},gettext:{title:"gettext",alias:"po",owner:"RunDevelopment"},gherkin:{title:"Gherkin",owner:"hason"},git:{title:"Git",owner:"lgiraudel"},glsl:{title:"GLSL",require:"c",owner:"Golmote"},gn:{title:"GN",alias:"gni",owner:"RunDevelopment"},"linker-script":{title:"GNU Linker Script",alias:"ld",owner:"RunDevelopment"},go:{title:"Go",require:"clike",owner:"arnehormann"},"go-module":{title:"Go module",alias:"go-mod",owner:"RunDevelopment"},gradle:{title:"Gradle",require:"clike",owner:"zeabdelkhalek-badido18"},graphql:{title:"GraphQL",optional:"markdown",owner:"Golmote"},groovy:{title:"Groovy",require:"clike",owner:"robfletcher"},haml:{title:"Haml",require:"ruby",optional:["css","css-extras","coffeescript","erb","javascript","less","markdown","scss","textile"],owner:"Golmote"},handlebars:{title:"Handlebars",require:"markup-templating",alias:["hbs","mustache"],aliasTitles:{mustache:"Mustache"},owner:"Golmote"},haskell:{title:"Haskell",alias:"hs",owner:"bholst"},haxe:{title:"Haxe",require:"clike",optional:"regex",owner:"Golmote"},hcl:{title:"HCL",owner:"outsideris"},hlsl:{title:"HLSL",require:"c",owner:"RunDevelopment"},hoon:{title:"Hoon",owner:"matildepark"},http:{title:"HTTP",optional:["csp","css","hpkp","hsts","javascript","json","markup","uri"],owner:"danielgtaylor"},hpkp:{title:"HTTP Public-Key-Pins",owner:"ScottHelme"},hsts:{title:"HTTP Strict-Transport-Security",owner:"ScottHelme"},ichigojam:{title:"IchigoJam",owner:"BlueCocoa"},icon:{title:"Icon",owner:"Golmote"},"icu-message-format":{title:"ICU Message Format",owner:"RunDevelopment"},idris:{title:"Idris",alias:"idr",owner:"KeenS",require:"haskell"},ignore:{title:".ignore",owner:"osipxd",alias:["gitignore","hgignore","npmignore"],aliasTitles:{gitignore:".gitignore",hgignore:".hgignore",npmignore:".npmignore"}},inform7:{title:"Inform 7",owner:"Golmote"},ini:{title:"Ini",owner:"aviaryan"},io:{title:"Io",owner:"AlesTsurko"},j:{title:"J",owner:"Golmote"},java:{title:"Java",require:"clike",owner:"sherblot"},javadoc:{title:"JavaDoc",require:["markup","java","javadoclike"],modify:"java",optional:"scala",owner:"RunDevelopment"},javadoclike:{title:"JavaDoc-like",modify:["java","javascript","php"],owner:"RunDevelopment"},javastacktrace:{title:"Java stack trace",owner:"RunDevelopment"},jexl:{title:"Jexl",owner:"czosel"},jolie:{title:"Jolie",require:"clike",owner:"thesave"},jq:{title:"JQ",owner:"RunDevelopment"},jsdoc:{title:"JSDoc",require:["javascript","javadoclike","typescript"],modify:"javascript",optional:["actionscript","coffeescript"],owner:"RunDevelopment"},"js-extras":{title:"JS Extras",require:"javascript",modify:"javascript",optional:["actionscript","coffeescript","flow","n4js","typescript"],owner:"RunDevelopment"},json:{title:"JSON",alias:"webmanifest",aliasTitles:{webmanifest:"Web App Manifest"},owner:"CupOfTea696"},json5:{title:"JSON5",require:"json",owner:"RunDevelopment"},jsonp:{title:"JSONP",require:"json",owner:"RunDevelopment"},jsstacktrace:{title:"JS stack trace",owner:"sbrl"},"js-templates":{title:"JS Templates",require:"javascript",modify:"javascript",optional:["css","css-extras","graphql","markdown","markup","sql"],owner:"RunDevelopment"},julia:{title:"Julia",owner:"cdagnino"},keepalived:{title:"Keepalived Configure",owner:"dev-itsheng"},keyman:{title:"Keyman",owner:"mcdurdin"},kotlin:{title:"Kotlin",alias:["kt","kts"],aliasTitles:{kts:"Kotlin Script"},require:"clike",owner:"Golmote"},kumir:{title:"KuMir (\u041a\u0443\u041c\u0438\u0440)",alias:"kum",owner:"edukisto"},kusto:{title:"Kusto",owner:"RunDevelopment"},latex:{title:"LaTeX",alias:["tex","context"],aliasTitles:{tex:"TeX",context:"ConTeXt"},owner:"japborst"},latte:{title:"Latte",require:["clike","markup-templating","php"],owner:"nette"},less:{title:"Less",require:"css",optional:"css-extras",owner:"Golmote"},lilypond:{title:"LilyPond",require:"scheme",alias:"ly",owner:"RunDevelopment"},liquid:{title:"Liquid",require:"markup-templating",owner:"cinhtau"},lisp:{title:"Lisp",alias:["emacs","elisp","emacs-lisp"],owner:"JuanCaicedo"},livescript:{title:"LiveScript",owner:"Golmote"},llvm:{title:"LLVM IR",owner:"porglezomp"},log:{title:"Log file",optional:"javastacktrace",owner:"RunDevelopment"},lolcode:{title:"LOLCODE",owner:"Golmote"},lua:{title:"Lua",owner:"Golmote"},magma:{title:"Magma (CAS)",owner:"RunDevelopment"},makefile:{title:"Makefile",owner:"Golmote"},markdown:{title:"Markdown",require:"markup",optional:"yaml",alias:"md",owner:"Golmote"},"markup-templating":{title:"Markup templating",require:"markup",owner:"Golmote"},mata:{title:"Mata",owner:"RunDevelopment"},matlab:{title:"MATLAB",owner:"Golmote"},maxscript:{title:"MAXScript",owner:"RunDevelopment"},mel:{title:"MEL",owner:"Golmote"},mermaid:{title:"Mermaid",owner:"RunDevelopment"},metafont:{title:"METAFONT",owner:"LaeriExNihilo"},mizar:{title:"Mizar",owner:"Golmote"},mongodb:{title:"MongoDB",owner:"airs0urce",require:"javascript"},monkey:{title:"Monkey",owner:"Golmote"},moonscript:{title:"MoonScript",alias:"moon",owner:"RunDevelopment"},n1ql:{title:"N1QL",owner:"TMWilds"},n4js:{title:"N4JS",require:"javascript",optional:"jsdoc",alias:"n4jsd",owner:"bsmith-n4"},"nand2tetris-hdl":{title:"Nand To Tetris HDL",owner:"stephanmax"},naniscript:{title:"Naninovel Script",owner:"Elringus",alias:"nani"},nasm:{title:"NASM",owner:"rbmj"},neon:{title:"NEON",owner:"nette"},nevod:{title:"Nevod",owner:"nezaboodka"},nginx:{title:"nginx",owner:"volado"},nim:{title:"Nim",owner:"Golmote"},nix:{title:"Nix",owner:"Golmote"},nsis:{title:"NSIS",owner:"idleberg"},objectivec:{title:"Objective-C",require:"c",alias:"objc",owner:"uranusjr"},ocaml:{title:"OCaml",owner:"Golmote"},odin:{title:"Odin",owner:"edukisto"},opencl:{title:"OpenCL",require:"c",modify:["c","cpp"],owner:"Milania1"},openqasm:{title:"OpenQasm",alias:"qasm",owner:"RunDevelopment"},oz:{title:"Oz",owner:"Golmote"},parigp:{title:"PARI/GP",owner:"Golmote"},parser:{title:"Parser",require:"markup",owner:"Golmote"},pascal:{title:"Pascal",alias:"objectpascal",aliasTitles:{objectpascal:"Object Pascal"},owner:"Golmote"},pascaligo:{title:"Pascaligo",owner:"DefinitelyNotAGoat"},psl:{title:"PATROL Scripting Language",owner:"bertysentry"},pcaxis:{title:"PC-Axis",alias:"px",owner:"RunDevelopment"},peoplecode:{title:"PeopleCode",alias:"pcode",owner:"RunDevelopment"},perl:{title:"Perl",owner:"Golmote"},php:{title:"PHP",require:"markup-templating",owner:"milesj"},phpdoc:{title:"PHPDoc",require:["php","javadoclike"],modify:"php",owner:"RunDevelopment"},"php-extras":{title:"PHP Extras",require:"php",modify:"php",owner:"milesj"},"plant-uml":{title:"PlantUML",alias:"plantuml",owner:"RunDevelopment"},plsql:{title:"PL/SQL",require:"sql",owner:"Golmote"},powerquery:{title:"PowerQuery",alias:["pq","mscript"],owner:"peterbud"},powershell:{title:"PowerShell",owner:"nauzilus"},processing:{title:"Processing",require:"clike",owner:"Golmote"},prolog:{title:"Prolog",owner:"Golmote"},promql:{title:"PromQL",owner:"arendjr"},properties:{title:".properties",owner:"Golmote"},protobuf:{title:"Protocol Buffers",require:"clike",owner:"just-boris"},pug:{title:"Pug",require:["markup","javascript"],optional:["coffeescript","ejs","handlebars","less","livescript","markdown","scss","stylus","twig"],owner:"Golmote"},puppet:{title:"Puppet",owner:"Golmote"},pure:{title:"Pure",optional:["c","cpp","fortran"],owner:"Golmote"},purebasic:{title:"PureBasic",require:"clike",alias:"pbfasm",owner:"HeX0R101"},purescript:{title:"PureScript",require:"haskell",alias:"purs",owner:"sriharshachilakapati"},python:{title:"Python",alias:"py",owner:"multipetros"},qsharp:{title:"Q#",require:"clike",alias:"qs",owner:"fedonman"},q:{title:"Q (kdb+ database)",owner:"Golmote"},qml:{title:"QML",require:"javascript",owner:"RunDevelopment"},qore:{title:"Qore",require:"clike",owner:"temnroegg"},r:{title:"R",owner:"Golmote"},racket:{title:"Racket",require:"scheme",alias:"rkt",owner:"RunDevelopment"},cshtml:{title:"Razor C#",alias:"razor",require:["markup","csharp"],optional:["css","css-extras","javascript","js-extras"],owner:"RunDevelopment"},jsx:{title:"React JSX",require:["markup","javascript"],optional:["jsdoc","js-extras","js-templates"],owner:"vkbansal"},tsx:{title:"React TSX",require:["jsx","typescript"]},reason:{title:"Reason",require:"clike",owner:"Golmote"},regex:{title:"Regex",owner:"RunDevelopment"},rego:{title:"Rego",owner:"JordanSh"},renpy:{title:"Ren'py",alias:"rpy",owner:"HyuchiaDiego"},rescript:{title:"ReScript",alias:"res",owner:"vmarcosp"},rest:{title:"reST (reStructuredText)",owner:"Golmote"},rip:{title:"Rip",owner:"ravinggenius"},roboconf:{title:"Roboconf",owner:"Golmote"},robotframework:{title:"Robot Framework",alias:"robot",owner:"RunDevelopment"},ruby:{title:"Ruby",require:"clike",alias:"rb",owner:"samflores"},rust:{title:"Rust",owner:"Golmote"},sas:{title:"SAS",optional:["groovy","lua","sql"],owner:"Golmote"},sass:{title:"Sass (Sass)",require:"css",optional:"css-extras",owner:"Golmote"},scss:{title:"Sass (SCSS)",require:"css",optional:"css-extras",owner:"MoOx"},scala:{title:"Scala",require:"java",owner:"jozic"},scheme:{title:"Scheme",owner:"bacchus123"},"shell-session":{title:"Shell session",require:"bash",alias:["sh-session","shellsession"],owner:"RunDevelopment"},smali:{title:"Smali",owner:"RunDevelopment"},smalltalk:{title:"Smalltalk",owner:"Golmote"},smarty:{title:"Smarty",require:"markup-templating",optional:"php",owner:"Golmote"},sml:{title:"SML",alias:"smlnj",aliasTitles:{smlnj:"SML/NJ"},owner:"RunDevelopment"},solidity:{title:"Solidity (Ethereum)",alias:"sol",require:"clike",owner:"glachaud"},"solution-file":{title:"Solution file",alias:"sln",owner:"RunDevelopment"},soy:{title:"Soy (Closure Template)",require:"markup-templating",owner:"Golmote"},sparql:{title:"SPARQL",require:"turtle",owner:"Triply-Dev",alias:"rq"},"splunk-spl":{title:"Splunk SPL",owner:"RunDevelopment"},sqf:{title:"SQF: Status Quo Function (Arma 3)",require:"clike",owner:"RunDevelopment"},sql:{title:"SQL",owner:"multipetros"},squirrel:{title:"Squirrel",require:"clike",owner:"RunDevelopment"},stan:{title:"Stan",owner:"RunDevelopment"},stata:{title:"Stata Ado",require:["mata","java","python"],owner:"RunDevelopment"},iecst:{title:"Structured Text (IEC 61131-3)",owner:"serhioromano"},stylus:{title:"Stylus",owner:"vkbansal"},supercollider:{title:"SuperCollider",alias:"sclang",owner:"RunDevelopment"},swift:{title:"Swift",owner:"chrischares"},systemd:{title:"Systemd configuration file",owner:"RunDevelopment"},"t4-templating":{title:"T4 templating",owner:"RunDevelopment"},"t4-cs":{title:"T4 Text Templates (C#)",require:["t4-templating","csharp"],alias:"t4",owner:"RunDevelopment"},"t4-vb":{title:"T4 Text Templates (VB)",require:["t4-templating","vbnet"],owner:"RunDevelopment"},tap:{title:"TAP",owner:"isaacs",require:"yaml"},tcl:{title:"Tcl",owner:"PeterChaplin"},tt2:{title:"Template Toolkit 2",require:["clike","markup-templating"],owner:"gflohr"},textile:{title:"Textile",require:"markup",optional:"css",owner:"Golmote"},toml:{title:"TOML",owner:"RunDevelopment"},tremor:{title:"Tremor",alias:["trickle","troy"],owner:"darach",aliasTitles:{trickle:"trickle",troy:"troy"}},turtle:{title:"Turtle",alias:"trig",aliasTitles:{trig:"TriG"},owner:"jakubklimek"},twig:{title:"Twig",require:"markup-templating",owner:"brandonkelly"},typescript:{title:"TypeScript",require:"javascript",optional:"js-templates",alias:"ts",owner:"vkbansal"},typoscript:{title:"TypoScript",alias:"tsconfig",aliasTitles:{tsconfig:"TSConfig"},owner:"dkern"},unrealscript:{title:"UnrealScript",alias:["uscript","uc"],owner:"RunDevelopment"},uorazor:{title:"UO Razor Script",owner:"jaseowns"},uri:{title:"URI",alias:"url",aliasTitles:{url:"URL"},owner:"RunDevelopment"},v:{title:"V",require:"clike",owner:"taggon"},vala:{title:"Vala",require:"clike",optional:"regex",owner:"TemplarVolk"},vbnet:{title:"VB.Net",require:"basic",owner:"Bigsby"},velocity:{title:"Velocity",require:"markup",owner:"Golmote"},verilog:{title:"Verilog",owner:"a-rey"},vhdl:{title:"VHDL",owner:"a-rey"},vim:{title:"vim",owner:"westonganger"},"visual-basic":{title:"Visual Basic",alias:["vb","vba"],aliasTitles:{vba:"VBA"},owner:"Golmote"},warpscript:{title:"WarpScript",owner:"RunDevelopment"},wasm:{title:"WebAssembly",owner:"Golmote"},"web-idl":{title:"Web IDL",alias:"webidl",owner:"RunDevelopment"},wgsl:{title:"WGSL",owner:"Dr4gonthree"},wiki:{title:"Wiki markup",require:"markup",owner:"Golmote"},wolfram:{title:"Wolfram language",alias:["mathematica","nb","wl"],aliasTitles:{mathematica:"Mathematica",nb:"Mathematica Notebook"},owner:"msollami"},wren:{title:"Wren",owner:"clsource"},xeora:{title:"Xeora",require:"markup",alias:"xeoracube",aliasTitles:{xeoracube:"XeoraCube"},owner:"freakmaxi"},"xml-doc":{title:"XML doc (.net)",require:"markup",modify:["csharp","fsharp","vbnet"],owner:"RunDevelopment"},xojo:{title:"Xojo (REALbasic)",owner:"Golmote"},xquery:{title:"XQuery",require:"markup",owner:"Golmote"},yaml:{title:"YAML",alias:"yml",owner:"hason"},yang:{title:"YANG",owner:"RunDevelopment"},zig:{title:"Zig",owner:"RunDevelopment"}},plugins:{meta:{path:"plugins/{id}/prism-{id}",link:"plugins/{id}/"},"line-highlight":{title:"Line Highlight",description:"Highlights specific lines and/or line ranges."},"line-numbers":{title:"Line Numbers",description:"Line number at the beginning of code lines.",owner:"kuba-kubula"},"show-invisibles":{title:"Show Invisibles",description:"Show hidden characters such as tabs and line breaks.",optional:["autolinker","data-uri-highlight"]},autolinker:{title:"Autolinker",description:"Converts URLs and emails in code to clickable links. Parses Markdown links in comments."},wpd:{title:"WebPlatform Docs",description:'Makes tokens link to WebPlatform.org documentation. The links open in a new tab.'},"custom-class":{title:"Custom Class",description:"This plugin allows you to prefix Prism's default classes (.comment can become .namespace--comment) or replace them with your defined ones (like .editor__comment). You can even add new classes.",owner:"dvkndn",noCSS:!0},"file-highlight":{title:"File Highlight",description:"Fetch external files and highlight them with Prism. Used on the Prism website itself.",noCSS:!0},"show-language":{title:"Show Language",description:"Display the highlighted language in code blocks (inline code does not show the label).",owner:"nauzilus",noCSS:!0,require:"toolbar"},"jsonp-highlight":{title:"JSONP Highlight",description:"Fetch content with JSONP and highlight some interesting content (e.g. GitHub/Gists or Bitbucket API).",noCSS:!0,owner:"nauzilus"},"highlight-keywords":{title:"Highlight Keywords",description:"Adds special CSS classes for each keyword for fine-grained highlighting.",owner:"vkbansal",noCSS:!0},"remove-initial-line-feed":{title:"Remove initial line feed",description:"Removes the initial line feed in code blocks.",owner:"Golmote",noCSS:!0},"inline-color":{title:"Inline color",description:"Adds a small inline preview for colors in style sheets.",require:"css-extras",owner:"RunDevelopment"},previewers:{title:"Previewers",description:"Previewers for angles, colors, gradients, easing and time.",require:"css-extras",owner:"Golmote"},autoloader:{title:"Autoloader",description:"Automatically loads the needed languages to highlight the code blocks.",owner:"Golmote",noCSS:!0},"keep-markup":{title:"Keep Markup",description:"Prevents custom markup from being dropped out during highlighting.",owner:"Golmote",optional:"normalize-whitespace",noCSS:!0},"command-line":{title:"Command Line",description:"Display a command line with a prompt and, optionally, the output/response from the commands.",owner:"chriswells0"},"unescaped-markup":{title:"Unescaped Markup",description:"Write markup without having to escape anything."},"normalize-whitespace":{title:"Normalize Whitespace",description:"Supports multiple operations to normalize whitespace in code blocks.",owner:"zeitgeist87",optional:"unescaped-markup",noCSS:!0},"data-uri-highlight":{title:"Data-URI Highlight",description:"Highlights data-URI contents.",owner:"Golmote",noCSS:!0},toolbar:{title:"Toolbar",description:"Attach a toolbar for plugins to easily register buttons on the top of a code block.",owner:"mAAdhaTTah"},"copy-to-clipboard":{title:"Copy to Clipboard Button",description:"Add a button that copies the code block to the clipboard when clicked.",owner:"mAAdhaTTah",require:"toolbar",noCSS:!0},"download-button":{title:"Download Button",description:"A button in the toolbar of a code block adding a convenient way to download a code file.",owner:"Golmote",require:"toolbar",noCSS:!0},"match-braces":{title:"Match braces",description:"Highlights matching braces.",owner:"RunDevelopment"},"diff-highlight":{title:"Diff Highlight",description:"Highlights the code inside diff blocks.",owner:"RunDevelopment",require:"diff"},"filter-highlight-all":{title:"Filter highlightAll",description:"Filters the elements the highlightAll and highlightAllUnder methods actually highlight.",owner:"RunDevelopment",noCSS:!0},treeview:{title:"Treeview",description:"A language with special styles to highlight file system tree structures.",owner:"Golmote"}}})},8722:(e,t,n)=>{const r=n(6969),a=n(8380),o=new Set;function i(e){void 0===e?e=Object.keys(r.languages).filter((e=>"meta"!=e)):Array.isArray(e)||(e=[e]);const t=[...o,...Object.keys(Prism.languages)];a(r,e,t).load((e=>{if(!(e in r.languages))return void(i.silent||console.warn("Language does not exist: "+e));const t="./prism-"+e;delete n.c[n(3157).resolve(t)],delete Prism.languages[e],n(3157)(t),o.add(e)}))}i.silent=!1,e.exports=i},9700:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,a,o){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(a,(function(e){if("function"==typeof o&&!o(e))return e;for(var a,l=i.length;-1!==n.code.indexOf(a=t(r,l));)++l;return i[l]=e,a})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var a=0,o=Object.keys(n.tokenStack);!function i(l){for(var s=0;s=o.length);s++){var u=l[s];if("string"==typeof u||u.content&&"string"==typeof u.content){var c=o[a],d=n.tokenStack[c],p="string"==typeof u?u:u.content,f=t(r,c),m=p.indexOf(f);if(m>-1){++a;var g=p.substring(0,m),h=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),y=p.substring(m+f.length),b=[];g&&b.push.apply(b,i([g])),b.push(h),y&&b.push.apply(b,i([y])),"string"==typeof u?l.splice.apply(l,[s,1].concat(b)):u.content=b}}else u.content&&i(u.content)}return l}(n.tokens)}}}})}(Prism)},8692:(e,t,n)=>{var r={"./":8722};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=8692},3157:(e,t,n)=>{var r={"./":8722};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=3157},8380:e=>{"use strict";var t=function(){var e=function(){};function t(e,t){Array.isArray(e)?e.forEach(t):null!=e&&t(e,0)}function n(e){for(var t={},n=0,r=e.length;n "));var l={},s=e[r];if(s){function u(t){if(!(t in e))throw new Error(r+" depends on an unknown component "+t);if(!(t in l))for(var i in a(t,o),l[t]=!0,n[t])l[i]=!0}t(s.require,u),t(s.optional,u),t(s.modify,u)}n[r]=l,o.pop()}}return function(e){var t=n[e];return t||(a(e,r),t=n[e]),t}}function a(e){for(var t in e)return!0;return!1}return function(o,i,l){var s=function(e){var t={};for(var n in e){var r=e[n];for(var a in r)if("meta"!=a){var o=r[a];t[a]="string"==typeof o?{title:o}:o}}return t}(o),u=function(e){var n;return function(r){if(r in e)return r;if(!n)for(var a in n={},e){var o=e[a];t(o&&o.alias,(function(t){if(t in n)throw new Error(t+" cannot be alias for both "+a+" and "+n[t]);if(t in e)throw new Error(t+" cannot be alias of "+a+" because it is a component.");n[t]=a}))}return n[r]||r}}(s);i=i.map(u),l=(l||[]).map(u);var c=n(i),d=n(l);i.forEach((function e(n){var r=s[n];t(r&&r.require,(function(t){t in d||(c[t]=!0,e(t))}))}));for(var p,f=r(s),m=c;a(m);){for(var g in p={},m){var h=s[g];t(h&&h.modify,(function(e){e in d&&(p[e]=!0)}))}for(var y in d)if(!(y in c))for(var b in f(y))if(b in c){p[y]=!0;break}for(var v in m=p)c[v]=!0}var w={getIds:function(){var e=[];return w.load((function(t){e.push(t)})),e},load:function(t,n){return function(t,n,r,a){var o=a?a.series:void 0,i=a?a.parallel:e,l={},s={};function u(e){if(e in l)return l[e];s[e]=!0;var a,c=[];for(var d in t(e))d in n&&c.push(d);if(0===c.length)a=r(e);else{var p=i(c.map((function(e){var t=u(e);return delete s[e],t})));o?a=o(p,(function(){return r(e)})):r(e)}return l[e]=a}for(var c in n)u(c);var d=[];for(var p in s)d.push(l[p]);return i(d)}(f,c,t,n)}};return w}}();e.exports=t},2694:(e,t,n)=>{"use strict";var r=n(6925);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,i){if(i!==r){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return n.PropTypes=n,n}},5556:(e,t,n)=>{e.exports=n(2694)()},6925:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},2551:(e,t,n)=>{"use strict";var r=n(6540),a=n(9982);function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n