[{"data":1,"prerenderedAt":715},["ShallowReactive",2],{"docs:navigation":3,"docs:page:\u002Fdocs\u002Fslidev\u002Fgetting-started":125,"docs:surround:\u002Fdocs\u002Fslidev\u002Fgetting-started":710},[4],{"title":5,"path":6,"stem":7,"children":8},"Docs","\u002Fdocs","docs",[9,12,26,39,56,65],{"title":10,"path":6,"stem":11},"Introduction","docs\u002Findex",{"title":13,"path":14,"stem":15,"children":16,"page":25},"Getting started","\u002Fdocs\u002Fgetting-started","docs\u002F1.getting-started",[17,21],{"title":18,"path":19,"stem":20},"Your first interactive talk","\u002Fdocs\u002Fgetting-started\u002Ffirst-talk","docs\u002F1.getting-started\u002F1.first-talk",{"title":22,"path":23,"stem":24},"Interactions","\u002Fdocs\u002Fgetting-started\u002Finteractions","docs\u002F1.getting-started\u002F2.interactions",false,{"title":27,"path":28,"stem":29,"children":30,"page":25},"Presenting a talk","\u002Fdocs\u002Fpresenting","docs\u002F2.presenting",[31,35],{"title":32,"path":33,"stem":34},"Sharing your talk","\u002Fdocs\u002Fpresenting\u002Fsharing","docs\u002F2.presenting\u002F1.sharing",{"title":36,"path":37,"stem":38},"Rehearse safely","\u002Fdocs\u002Fpresenting\u002Frehearsal","docs\u002F2.presenting\u002F2.rehearsal",{"title":40,"path":41,"stem":42,"children":43,"page":25},"Slidev","\u002Fdocs\u002Fslidev","docs\u002F3.slidev",[44,48,52],{"title":45,"path":46,"stem":47},"Your first Slidev integration","\u002Fdocs\u002Fslidev\u002Fgetting-started","docs\u002F3.slidev\u002F1.getting-started",{"title":49,"path":50,"stem":51},"Slidev reference","\u002Fdocs\u002Fslidev\u002Freference","docs\u002F3.slidev\u002F2.reference",{"title":53,"path":54,"stem":55},"Publish slides with saved results","\u002Fdocs\u002Fslidev\u002Fpublishing","docs\u002F3.slidev\u002F3.publishing",{"title":57,"path":58,"stem":59,"children":60,"page":25},"Help","\u002Fdocs\u002Fhelp","docs\u002F4.help",[61],{"title":62,"path":63,"stem":64},"Troubleshooting","\u002Fdocs\u002Fhelp\u002Ftroubleshooting","docs\u002F4.help\u002F1.troubleshooting",{"title":66,"path":67,"stem":68,"children":69},"Knowledge base","\u002Fdocs\u002Fknowledge-base","docs\u002Fknowledge-base\u002Findex",[70,71,75,79,83,87,90,94,98,102,106,110,114,118,122],{"title":66,"path":67,"stem":68},{"title":72,"path":73,"stem":74},"Account and security","\u002Fdocs\u002Fknowledge-base\u002Faccount-and-security","docs\u002Fknowledge-base\u002Faccount-and-security",{"title":76,"path":77,"stem":78},"Audience questions","\u002Fdocs\u002Fknowledge-base\u002Faudience-questions","docs\u002Fknowledge-base\u002Faudience-questions",{"title":80,"path":81,"stem":82},"Core concepts","\u002Fdocs\u002Fknowledge-base\u002Fconcepts","docs\u002Fknowledge-base\u002Fconcepts",{"title":84,"path":85,"stem":86},"Feedback","\u002Fdocs\u002Fknowledge-base\u002Ffeedback","docs\u002Fknowledge-base\u002Ffeedback",{"title":18,"path":88,"stem":89},"\u002Fdocs\u002Fknowledge-base\u002Fgetting-started","docs\u002Fknowledge-base\u002Fgetting-started",{"title":91,"path":92,"stem":93},"Live reactions","\u002Fdocs\u002Fknowledge-base\u002Flive-reactions","docs\u002Fknowledge-base\u002Flive-reactions",{"title":95,"path":96,"stem":97},"Plans and limits","\u002Fdocs\u002Fknowledge-base\u002Fplans-and-limits","docs\u002Fknowledge-base\u002Fplans-and-limits",{"title":99,"path":100,"stem":101},"Presenter tools","\u002Fdocs\u002Fknowledge-base\u002Fpresenter-tools","docs\u002Fknowledge-base\u002Fpresenter-tools",{"title":103,"path":104,"stem":105},"Questions and answers","\u002Fdocs\u002Fknowledge-base\u002Fquestions-and-answers","docs\u002Fknowledge-base\u002Fquestions-and-answers",{"title":107,"path":108,"stem":109},"Sharing and audience access","\u002Fdocs\u002Fknowledge-base\u002Fsharing-and-access","docs\u002Fknowledge-base\u002Fsharing-and-access",{"title":111,"path":112,"stem":113},"Slidev and demo mode","\u002Fdocs\u002Fknowledge-base\u002Fslidev-and-demo-mode","docs\u002Fknowledge-base\u002Fslidev-and-demo-mode",{"title":115,"path":116,"stem":117},"Talk lifecycle","\u002Fdocs\u002Fknowledge-base\u002Ftalk-lifecycle","docs\u002Fknowledge-base\u002Ftalk-lifecycle",{"title":119,"path":120,"stem":121},"Managing talks","\u002Fdocs\u002Fknowledge-base\u002Ftalks","docs\u002Fknowledge-base\u002Ftalks",{"title":62,"path":123,"stem":124},"\u002Fdocs\u002Fknowledge-base\u002Ftroubleshooting","docs\u002Fknowledge-base\u002Ftroubleshooting",{"title":45,"description":126,"body":127,"path":46,"seo":709},"Connect a Slidev deck to your Inalia talk and display a live poll.",{"type":128,"value":129,"toc":696},"minimark",[130,143,148,175,192,196,207,223,233,236,245,256,263,270,276,287,291,305,312,315,319,322,331,337,376,382,399,402,412,417,423,431,437,446,450,453,461,473,483,497,506,510,518,521,555,558,565,568,572,594,597,607,611,614,665,671,675,692],[131,132,133,134,138,139,142],"p",{},"Use the ",[135,136,137],"strong",{},"Getting to know the room"," talk and poll from ",[140,141,18],"a",{"href":19},". By the end, an audience response will update the poll in your slides.",[144,145,147],"h2",{"id":146},"before-you-start","Before you start",[149,150,151,161,164,172],"ul",{},[152,153,154,155,160],"li",{},"Have an existing ",[140,156,40],{"href":157,"rel":158},"https:\u002F\u002Fsli.dev",[159],"nofollow"," project and access to its files.",[152,162,163],{},"Use Slidev 0.49.29 or newer, as declared by the add-on's current compatibility requirement.",[152,165,166,167,171],{},"Have an eligible, verified Inalia account. For API-token setup, you also need access to ",[140,168,170],{"href":169},"\u002Fprofile\u002Ftokens","Tokens",".",[152,173,174],{},"Use a trusted local presentation environment with internet access.",[131,176,177,180,181,185,186,189,190,171],{},[135,178,179],{},"Security warning for API-token setup:"," the add-on uses ",[182,183,184],"code",{},"VITE_INALIA_API_KEY"," in browser-side requests. Treat anyone who can access the served deck or its JavaScript as potentially able to obtain the token. A gitignored ",[182,187,188],{},".env"," prevents committing that file, but does not hide the token in served or built JavaScript. Do not publicly host a live-configured deck. Use a dedicated, least-privilege token and delete it after use. For sharing afterward, follow ",[140,191,53],{"href":54},[144,193,195],{"id":194},"connect-with-browser-sign-in","Connect with browser sign-in",[131,197,198,199,202,203,206],{},"With an OAuth-capable addon version and Inalia server, use Node.js 22.12 or newer and run the setup in your deck directory. The ",[182,200,201],{},"inalia"," package provides the CLI and installs the separate ",[182,204,205],{},"slidev-addon-inalia"," package:",[208,209,214],"pre",{"className":210,"code":211,"language":212,"meta":213,"style":213},"language-sh shiki shiki-themes material-theme-lighter github-light github-dark","npx inalia slidev setup\n","sh","",[182,215,216],{"__ignoreMap":213},[217,218,221],"span",{"class":219,"line":220},"line",1,[217,222,211],{},[131,224,225,226,229,230,232],{},"Setup reuses your sign-in or opens your browser to sign in, then lets you choose a talk. It installs the add-on, updates ",[182,227,228],{},"slides.md",", and saves the connection in ",[182,231,188],{},". There is no authentication-method prompt.",[131,234,235],{},"For an already-installed deck, connect or switch talks with:",[208,237,239],{"className":210,"code":238,"language":212,"meta":213,"style":213},"npx inalia talk select\n",[182,240,241],{"__ignoreMap":213},[217,242,243],{"class":219,"line":220},[217,244,238],{},[131,246,247,248,251,252,255],{},"To sign in separately, run ",[182,249,250],{},"npx inalia auth login",". Signing in alone does not configure a deck; ",[182,253,254],{},"talk select"," saves the talk number for you. OAuth is the default when no API key is configured, so no authentication-mode variable is needed. The add-on discovers your username automatically; no username setting is needed.",[131,257,258,259,262],{},"Restart Slidev and open its localhost URL on the same machine. Read permission retrieves your talks, questions and live results; Present permission also starts talks. Use ",[182,260,261],{},"auth login --read-only"," to request only read access.",[131,264,265,266,269],{},"Credentials stay in a private user-config file outside your presentation. The local Slidev server refreshes access and authorizes private WebSocket channels without giving OAuth tokens to the browser. Run ",[182,267,268],{},"npx inalia auth logout"," when you no longer need the connection.",[131,271,272,273,275],{},"This connection is not available to LAN viewers, static\u002Fhosted decks or preview servers. Exported PDFs are static snapshots without a login session. Use static data or finished-talk snapshots for published presentations. Existing API-token configurations remain supported, but keys exposed through ",[182,274,184],{}," must never be included in a published deck.",[131,277,278,279,282,283,286],{},"If you used ",[182,280,281],{},"slidev setup",", continue with ",[135,284,285],{},"Add the poll to your slides",". The manual token configuration below remains available for existing API-token integrations.",[144,288,290],{"id":289},"_1-create-a-dedicated-token-api-token-setup","1. Create a dedicated token (API-token setup)",[131,292,293,294,296,297,300,301,304],{},"Open ",[140,295,170],{"href":169},", enter a descriptive name such as ",[135,298,299],{},"Practice Slidev deck",", and create a token with ",[135,302,303],{},"read"," permission.",[131,306,307,308,311],{},"Read is enough to retrieve your talk and questions when you run the talk from the app. Only add ",[135,309,310],{},"write"," if you need integration controls that run a talk or change demo mode.",[131,313,314],{},"Copy the token when it is shown and store it securely. Do not paste it into slides, screenshots, issues, or source control.",[144,316,318],{"id":317},"_2-install-and-configure","2. Install and configure",[131,320,321],{},"In your Slidev project's directory:",[208,323,325],{"className":210,"code":324,"language":212,"meta":213,"style":213},"pnpm add slidev-addon-inalia\n",[182,326,327],{"__ignoreMap":213},[217,328,329],{"class":219,"line":220},[217,330,324],{},[131,332,333,334,336],{},"Add the add-on to the existing frontmatter at the top of ",[182,335,228],{},". Keep any other add-ons and settings:",[208,338,342],{"className":339,"code":340,"language":341,"meta":213,"style":213},"language-yaml shiki shiki-themes material-theme-lighter github-light github-dark","---\naddons:\n  - slidev-addon-inalia\n---\n","yaml",[182,343,344,350,361,371],{"__ignoreMap":213},[217,345,346],{"class":219,"line":220},[217,347,349],{"class":348},"sbgvK","---\n",[217,351,353,357],{"class":219,"line":352},2,[217,354,356],{"class":355},"sQzsp","addons",[217,358,360],{"class":359},"sP7_E",":\n",[217,362,364,367],{"class":219,"line":363},3,[217,365,366],{"class":359},"  -",[217,368,370],{"class":369},"s_sjI"," slidev-addon-inalia\n",[217,372,374],{"class":219,"line":373},4,[217,375,349],{"class":348},[131,377,378,379,381],{},"Merge these entries into the project's ",[182,380,188],{},", replacing the placeholders:",[208,383,387],{"className":384,"code":385,"language":386,"meta":213,"style":213},"language-dotenv shiki shiki-themes material-theme-lighter github-light github-dark","VITE_INALIA_API_KEY=YOUR_DEDICATED_TOKEN\nVITE_INALIA_TALK_NUMBER=YOUR_TALK_NUMBER\n","dotenv",[182,388,389,394],{"__ignoreMap":213},[217,390,391],{"class":219,"line":220},[217,392,393],{},"VITE_INALIA_API_KEY=YOUR_DEDICATED_TOKEN\n",[217,395,396],{"class":219,"line":352},[217,397,398],{},"VITE_INALIA_TALK_NUMBER=YOUR_TALK_NUMBER\n",[131,400,401],{},"Use the talk's number within your account, not the title or an internal database ID. Your workspace URL contains the talk number. The add-on automatically retrieves your username from the API token.",[131,403,404,405,407,408,411],{},"Ensure ",[182,406,188],{}," is excluded by your project's ",[182,409,410],{},".gitignore",". Restart Slidev using your project's usual development command after changing environment settings.",[413,414,416],"h3",{"id":415},"optional-setup-cli","Optional setup CLI",[131,418,419,420,422],{},"Instead of the manual setup, use the ",[182,421,201],{}," CLI:",[208,424,425],{"className":210,"code":211,"language":212,"meta":213,"style":213},[182,426,427],{"__ignoreMap":213},[217,428,429],{"class":219,"line":220},[217,430,211],{},[131,432,433,434,436],{},"Run it inside the Slidev project containing ",[182,435,228],{},". It connects your account, lets you choose a talk, installs the package, and updates frontmatter. The bare command shows help rather than starting setup.",[131,438,439,440,442,443,445],{},"The CLI merges its settings into ",[182,441,188],{},", preserving unrelated entries and comments. Review the resulting files and keep ",[182,444,188],{}," gitignored. If dependency installation fails, install the package manually.",[413,447,449],{"id":448},"choose-or-switch-a-talk-interactively","Choose or switch a talk interactively",[131,451,452],{},"To avoid looking up a talk number, run this inside your Slidev project with Node.js 22.12 or newer:",[208,454,455],{"className":210,"code":238,"language":212,"meta":213,"style":213},[182,456,457],{"__ignoreMap":213},[217,458,459],{"class":219,"line":220},[217,460,238],{},[131,462,463,464,466,467,469,470,171],{},"The command reuses your OAuth session or starts browser sign-in when needed. An existing ",[182,465,184],{}," in the shell or project's ",[182,468,188],{}," takes precedence (shell values win); the CLI never prompts for a token and does not read ",[182,471,472],{},"~\u002F.inaliarc",[131,474,475,476,479,480,482],{},"Choose from all talks belonging to that account, listed by title and talk number, newest number first. The command saves the selected ",[182,477,478],{},"VITE_INALIA_TALK_NUMBER"," in ",[182,481,188],{},"; no authentication-mode variable is written. Your username is discovered automatically at runtime. OAuth credentials stay outside the deck; an existing API-token connection saves its configured token. Other entries and comments are preserved. Restart Slidev afterward.",[131,484,485,486,488,489,492,493,496],{},"Cancelling, a failed request, or an empty talk list does not change ",[182,487,188],{},". Browser sign-in may still have created a local OAuth session. If no talks exist, create one in Inalia and run the command again. If listing fails, check your sign-in, permissions, and verified account access. Self-hosted OAuth servers must provide ",[182,490,491],{},"GET \u002Fapi\u002Fslidev\u002Fme"," and ",[182,494,495],{},"GET \u002Fapi\u002Fslidev\u002F{username}\u002Ftalks","; update the server if these endpoints are missing.",[131,498,499,500,502,503,505],{},"This command only configures the connection; it does not install the add-on, edit ",[182,501,228],{},", or run a talk. Complete the installation and frontmatter steps above first, or use the setup CLI. Keep ",[182,504,188],{}," gitignored and follow the token security warning above.",[144,507,509],{"id":508},"_3-add-the-poll-to-your-slides","3. Add the poll to your slides",[131,511,512,513,515,516,171],{},"In Inalia's talk question list, open your poll's output menu and choose ",[135,514,40],{},". Copy the generated HTML into a slide in ",[182,517,228],{},[131,519,520],{},"For an unfinished talk, it looks like this:",[208,522,526],{"className":523,"code":524,"language":525,"meta":213,"style":213},"language-vue shiki shiki-themes material-theme-lighter github-light github-dark","\u003CInalia questionId=\"1\" \u002F>\n","vue",[182,527,528],{"__ignoreMap":213},[217,529,530,533,536,540,543,547,550,552],{"class":219,"line":220},[217,531,532],{"class":359},"\u003C",[217,534,535],{"class":355},"Inalia",[217,537,539],{"class":538},"s9AJx"," questionId",[217,541,542],{"class":359},"=",[217,544,546],{"class":545},"sjJ54","\"",[217,548,549],{"class":369},"1",[217,551,546],{"class":545},[217,553,554],{"class":359}," \u002F>\n",[131,556,557],{},"Use your generated snippet, not the example number. The question number is scoped to the configured talk.",[131,559,560,561,564],{},"If you finished the tutorial talk, choose ",[135,562,563],{},"Run"," again before copying live output. Finishing changes newly generated output to static snapshots.",[131,566,567],{},"You should see the poll's wording and chart in Slidev. If the component is unknown, check the install and deck frontmatter, then restart Slidev.",[144,569,571],{"id":570},"_4-receive-an-answer","4. Receive an answer",[573,574,575,581,584,591],"ol",{},[152,576,577,578,580],{},"Choose ",[135,579,563],{}," in the Inalia talk workspace.",[152,582,583],{},"Confirm demo mode is off if you want to save this answer.",[152,585,586,587,590],{},"Open the question's ",[135,588,589],{},"Audience short link"," on another device, or scan the QR code shown with the live question.",[152,592,593],{},"Submit a choice while the poll slide is visible.",[131,595,596],{},"The chart should update. You can also confirm the saved answer in Inalia's question workspace. A working static chart alone does not confirm your live connection.",[131,598,599,600,602,603,171],{},"If it does not update, see ",[140,601,62],{"href":63}," and the ",[140,604,606],{"href":605},"\u002Fdocs\u002Fslidev\u002Freference#connection-settings","connection settings",[144,608,610],{"id":609},"_5-add-opening-and-feedback-slides","5. Add opening and feedback slides",[131,612,613],{},"Add these as separate slides:",[208,615,619],{"className":616,"code":617,"language":618,"meta":213,"style":213},"language-md shiki shiki-themes material-theme-lighter github-light github-dark","---\nlayout: inalia-overview\n---\n\n---\nlayout: inalia-feedback\n---\n","md",[182,620,621,625,636,640,646,652,659],{"__ignoreMap":213},[217,622,623],{"class":219,"line":220},[217,624,349],{"class":359},[217,626,627,630,633],{"class":219,"line":352},[217,628,629],{"class":355},"layout",[217,631,632],{"class":359},":",[217,634,635],{"class":369}," inalia-overview\n",[217,637,638],{"class":219,"line":363},[217,639,349],{"class":359},[217,641,642],{"class":219,"line":373},[217,643,645],{"emptyLinePlaceholder":644},true,"\n",[217,647,649],{"class":219,"line":648},5,[217,650,349],{"class":651},"sQsZD",[217,653,655],{"class":219,"line":654},6,[217,656,658],{"class":657},"su5hD","layout: inalia-feedback\n",[217,660,662],{"class":219,"line":661},7,[217,663,349],{"class":664},"sDZcc",[131,666,667,668,670],{},"The overview helps attendees join. Enable ",[135,669,84],{}," in Inalia and keep the talk running through feedback collection; the closing slide does not override the talk's status.",[144,672,674],{"id":673},"next-steps","Next steps",[149,676,677,682,687],{},[152,678,679,171],{},[140,680,681],{"href":37},"Rehearse safely before presenting",[152,683,684,171],{},[140,685,686],{"href":50},"Look up components, configuration, and customization",[152,688,689,171],{},[140,690,691],{"href":54},"Publish a token-free deck with saved results",[693,694,695],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sbgvK, html code.shiki .sbgvK{--shiki-light:#E2931D;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sQzsp, html code.shiki .sQzsp{--shiki-light:#E53935;--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s9AJx, html code.shiki .s9AJx{--shiki-light:#9C3EDA;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sQsZD, html code.shiki .sQsZD{--shiki-light:#90A4AE;--shiki-light-font-weight:inherit;--shiki-default:#005CC5;--shiki-default-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sDZcc, html code.shiki .sDZcc{--shiki-light:#39ADB5;--shiki-light-font-weight:inherit;--shiki-default:#005CC5;--shiki-default-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold}",{"title":213,"searchDepth":352,"depth":352,"links":697},[698,699,700,701,705,706,707,708],{"id":146,"depth":352,"text":147},{"id":194,"depth":352,"text":195},{"id":289,"depth":352,"text":290},{"id":317,"depth":352,"text":318,"children":702},[703,704],{"id":415,"depth":363,"text":416},{"id":448,"depth":363,"text":449},{"id":508,"depth":352,"text":509},{"id":570,"depth":352,"text":571},{"id":609,"depth":352,"text":610},{"id":673,"depth":352,"text":674},{"title":45,"description":126},[711,713],{"title":36,"path":37,"stem":38,"description":712,"children":-1},"Choose a rehearsal method and check your setup before a real audience joins.",{"title":49,"path":50,"stem":51,"description":714,"children":-1},"Connection settings, common components, layouts, and chart customization.",1793127666535]