376 lines
110 KiB
HTML
376 lines
110 KiB
HTML
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,height=device-height,initial-scale=1.0"><meta name="apple-mobile-web-app-capable" content="yes"><meta http-equiv="X-UA-Compatible" content="ie=edge"><meta property="og:type" content="website"><meta name="twitter:card" content="summary"><style>@media screen{body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button{-webkit-tap-highlight-color:transparent;-webkit-appearance:none;appearance:none;background-color:transparent;border:0;color:inherit;cursor:pointer;font-size:inherit;opacity:.8;outline:none;padding:0;transition:opacity .2s linear}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button:disabled,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button:disabled,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button:disabled,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button:disabled{cursor:not-allowed;opacity:.15!important}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button:hover,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button:hover,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button:hover,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button:hover{opacity:1}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button:hover:active,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button:hover:active,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button:hover:active,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button:hover:active{opacity:.6}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button:hover:not(:disabled),body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button:hover:not(:disabled),body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button:hover:not(:disabled),body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button:hover:not(:disabled){transition:none}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=prev],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=prev],body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button.bespoke-marp-presenter-info-page-prev{background:transparent url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSI1IiBkPSJNNjggOTAgMjggNTBsNDAtNDAiLz48L3N2Zz4=") no-repeat 50%;background-size:contain;overflow:hidden;text-indent:100%;white-space:nowrap}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=next],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=next],body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button.bespoke-marp-presenter-info-page-next{background:transparent url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPS
|
||||
|
|
/*!
|
|||
|
|
* Marp default theme.
|
|||
|
|
*
|
|||
|
|
* @theme default
|
|||
|
|
* @author Yuki Hattori
|
|||
|
|
*
|
|||
|
|
* @auto-scaling true
|
|||
|
|
* @size 16:9 1280px 720px
|
|||
|
|
* @size 4:3 960px 720px
|
|||
|
|
*/div#\:\$p>svg>foreignObject>section,div#\:\$p>svg>foreignObject>section [data-theme=light]{--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-entity:#6639ba;--color-prettylights-syntax-storage-modifier-import:#24292f;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-variable:#953800;--color-prettylights-syntax-brackethighlighter-unmatched:#82071e;--color-prettylights-syntax-invalid-illegal-text:#f6f8fa;--color-prettylights-syntax-invalid-illegal-bg:#82071e;--color-prettylights-syntax-carriage-return-text:#f6f8fa;--color-prettylights-syntax-carriage-return-bg:#cf222e;--color-prettylights-syntax-string-regexp:#116329;--color-prettylights-syntax-markup-list:#3b2300;--color-prettylights-syntax-markup-heading:#0550ae;--color-prettylights-syntax-markup-italic:#24292f;--color-prettylights-syntax-markup-bold:#24292f;--color-prettylights-syntax-markup-deleted-text:#82071e;--color-prettylights-syntax-markup-deleted-bg:#ffebe9;--color-prettylights-syntax-markup-inserted-text:#116329;--color-prettylights-syntax-markup-inserted-bg:#dafbe1;--color-prettylights-syntax-markup-changed-text:#953800;--color-prettylights-syntax-markup-changed-bg:#ffd8b5;--color-prettylights-syntax-markup-ignored-text:#eaeef2;--color-prettylights-syntax-markup-ignored-bg:#0550ae;--color-prettylights-syntax-meta-diff-range:#8250df;--color-prettylights-syntax-brackethighlighter-angle:#57606a;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant-other-reference-link:#0a3069;--color-fg-default:#1f2328;--color-fg-muted:#656d76;--color-fg-subtle:#6e7781;--color-canvas-default:#fff;--color-canvas-subtle:#f6f8fa;--color-border-default:#d0d7de;--color-border-muted:#d8dee4;--color-neutral-muted:rgba(175,184,193,.2);--color-accent-fg:#0969da;--color-accent-emphasis:#0969da;--color-attention-subtle:#fff8c5;--color-danger-fg:#d1242f;color-scheme:light}div#\:\$p>svg>foreignObject>section [data-theme=dark],div#\:\$p>svg>foreignObject>section:where(.invert){--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-storage-modifier-import:#c9d1d9;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-variable:#ffa657;--color-prettylights-syntax-brackethighlighter-unmatched:#f85149;--color-prettylights-syntax-invalid-illegal-text:#f0f6fc;--color-prettylights-syntax-invalid-illegal-bg:#8e1519;--color-prettylights-syntax-carriage-return-text:#f0f6fc;--color-prettylights-syntax-carriage-return-bg:#b62324;--color-prettylights-syntax-string-regexp:#7ee787;--color-prettylights-syntax-markup-list:#f2cc60;--color-prettylights-syntax-markup-heading:#1f6feb;--color-prettylights-syntax-markup-italic:#c9d1d9;--color-prettylights-syntax-markup-bold:#c9d1d9;--color-prettylights-syntax-markup-deleted-text:#ffdcd7;--color-prettylights-syntax-markup-deleted-bg:#67060c;--color-prettylights-syntax-markup-inserted-text:#aff5b4;--color-prettylights-syntax-markup-inserted-bg:#033a16;--color-prettylights-syntax-markup-changed-text:#ffdfb6;--color-prettylights-syntax-markup-changed-bg:#5a1e02;--color-prettylights-syntax-markup-ignored-text:#c9d1d9;--color-prettylights-syntax-markup-ignored-bg:#1158c7;--color-prettylights-syntax-meta-diff-range:#d2a8ff;--color-prettylights-syntax-brackethighlighter-angle:#8b949e;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant-other-reference-link:#a5d6ff;--color-fg-default:#e6edf3;--color-fg-muted:#7d8590;--color-fg-subtle:#6e7681;--color-canvas-default:#0d1117;--color-canvas-subtle:#161b22;--color-border-default:#30363d;--color-border-muted:#21262d;--color-neutral-muted:hsla(215,8%,47%,.4);--color-accent-fg:#2f81f7;--color-accent-emphasis:#1f6feb;--color-attention-subtle:rgba(187,128,9,.1
|
|||
|
|
/* content:""; */display:table}div#\:\$p>svg>foreignObject>section:after{clear:both}div#\:\$p>svg>foreignObject>section>:first-child{margin-top:0!important}div#\:\$p>svg>foreignObject>section>:last-child{margin-bottom:0!important}div#\:\$p>svg>foreignObject>section a:not([href]){color:inherit;text-decoration:none}div#\:\$p>svg>foreignObject>section .absent{color:var(--color-danger-fg)}div#\:\$p>svg>foreignObject>section .anchor{float:left;line-height:1;margin-left:-20px;padding-right:4px}div#\:\$p>svg>foreignObject>section .anchor:focus{outline:none}div#\:\$p>svg>foreignObject>section :is(pre,marp-pre),div#\:\$p>svg>foreignObject>section blockquote,div#\:\$p>svg>foreignObject>section details,div#\:\$p>svg>foreignObject>section dl,div#\:\$p>svg>foreignObject>section ol,div#\:\$p>svg>foreignObject>section p,div#\:\$p>svg>foreignObject>section table,div#\:\$p>svg>foreignObject>section ul{margin-bottom:16px;margin-top:0}div#\:\$p>svg>foreignObject>section blockquote>:first-child{margin-top:0}div#\:\$p>svg>foreignObject>section blockquote>:last-child{margin-bottom:0}div#\:\$p>svg>foreignObject>section :is(h1,marp-h1) .octicon-link,div#\:\$p>svg>foreignObject>section :is(h2,marp-h2) .octicon-link,div#\:\$p>svg>foreignObject>section :is(h3,marp-h3) .octicon-link,div#\:\$p>svg>foreignObject>section :is(h4,marp-h4) .octicon-link,div#\:\$p>svg>foreignObject>section :is(h5,marp-h5) .octicon-link,div#\:\$p>svg>foreignObject>section :is(h6,marp-h6) .octicon-link{color:var(--color-fg-default);vertical-align:middle;visibility:hidden}div#\:\$p>svg>foreignObject>section :is(h1,marp-h1):hover .anchor,div#\:\$p>svg>foreignObject>section :is(h2,marp-h2):hover .anchor,div#\:\$p>svg>foreignObject>section :is(h3,marp-h3):hover .anchor,div#\:\$p>svg>foreignObject>section :is(h4,marp-h4):hover .anchor,div#\:\$p>svg>foreignObject>section :is(h5,marp-h5):hover .anchor,div#\:\$p>svg>foreignObject>section :is(h6,marp-h6):hover .anchor{text-decoration:none}div#\:\$p>svg>foreignObject>section :is(h1,marp-h1):hover .anchor .octicon-link,div#\:\$p>svg>foreignObject>section :is(h2,marp-h2):hover .anchor .octicon-link,div#\:\$p>svg>foreignObject>section :is(h3,marp-h3):hover .anchor .octicon-link,div#\:\$p>svg>foreignObject>section :is(h4,marp-h4):hover .anchor .octicon-link,div#\:\$p>svg>foreignObject>section :is(h5,marp-h5):hover .anchor .octicon-link,div#\:\$p>svg>foreignObject>section :is(h6,marp-h6):hover .anchor .octicon-link{visibility:visible}div#\:\$p>svg>foreignObject>section :is(h1,marp-h1) code,div#\:\$p>svg>foreignObject>section :is(h1,marp-h1) tt,div#\:\$p>svg>foreignObject>section :is(h2,marp-h2) code,div#\:\$p>svg>foreignObject>section :is(h2,marp-h2) tt,div#\:\$p>svg>foreignObject>section :is(h3,marp-h3) code,div#\:\$p>svg>foreignObject>section :is(h3,marp-h3) tt,div#\:\$p>svg>foreignObject>section :is(h4,marp-h4) code,div#\:\$p>svg>foreignObject>section :is(h4,marp-h4) tt,div#\:\$p>svg>foreignObject>section :is(h5,marp-h5) code,div#\:\$p>svg>foreignObject>section :is(h5,marp-h5) tt,div#\:\$p>svg>foreignObject>section :is(h6,marp-h6) code,div#\:\$p>svg>foreignObject>section :is(h6,marp-h6) tt{font-size:inherit;padding:0 .2em}div#\:\$p>svg>foreignObject>section summary :is(h1,marp-h1),div#\:\$p>svg>foreignObject>section summary :is(h2,marp-h2),div#\:\$p>svg>foreignObject>section summary :is(h3,marp-h3),div#\:\$p>svg>foreignObject>section summary :is(h4,marp-h4),div#\:\$p>svg>foreignObject>section summary :is(h5,marp-h5),div#\:\$p>svg>foreignObject>section summary :is(h6,marp-h6){display:inline-block}div#\:\$p>svg>foreignObject>section summary :is(h1,marp-h1) .anchor,div#\:\$p>svg>foreignObject>section summary :is(h2,marp-h2) .anchor,div#\:\$p>svg>foreignObject>section summary :is(h3,marp-h3) .anchor,div#\:\$p>svg>foreignObject>section summary :is(h4,marp-h4) .anchor,div#\:\$p>svg>foreignObject>section summary :is(h5,marp-h5) .anchor,div#\:\$p>svg>foreignObject>section summary :is(h6,marp-h6) .anchor{margin-left:-40px}div#\:\$p>svg>foreignObject>section summary :is(h1,marp-h1),div#\:\$p>svg>foreignObject>section summary :is(h2,marp-h2){b
|
|||
|
|
<p><strong>user</strong>: [[每周小结]]<br />
|
|||
|
|
[Timestamp: 2025/08/31 09:52:29]</p>
|
|||
|
|
<p><strong>ai</strong>: 根据提供的[[每周小结]]模板,这是一个用于记录和汇总每周活动的模板,包含以下几个主要部分:</p>
|
|||
|
|
<ol>
|
|||
|
|
<li>
|
|||
|
|
<p><strong>日志汇总</strong></p>
|
|||
|
|
<ul>
|
|||
|
|
<li>使用Dataview查询自动汇总过去7天的日志</li>
|
|||
|
|
<li>显示日志摘要(excerpt)和评分(rating)</li>
|
|||
|
|
<li>支持通过Hover Editor预览日志内容</li>
|
|||
|
|
</ul>
|
|||
|
|
</li>
|
|||
|
|
<li>
|
|||
|
|
<p><strong>本周完成事项汇总</strong></p>
|
|||
|
|
<ul>
|
|||
|
|
<li>显示本周内状态为"complete"的事项</li>
|
|||
|
|
<li>包含摘要、评分和目标文件夹信息</li>
|
|||
|
|
<li>需要先完善front-matter信息才能正确显示</li>
|
|||
|
|
</ul>
|
|||
|
|
</li>
|
|||
|
|
<li>
|
|||
|
|
<p><strong>本周小结</strong></p>
|
|||
|
|
<ul>
|
|||
|
|
<li>用于概括性描述本周工作、生活和学习情况</li>
|
|||
|
|
<li>建议根据草稿内容制作Obsidian幻灯片用于会议展示</li>
|
|||
|
|
</ul>
|
|||
|
|
</li>
|
|||
|
|
<li>
|
|||
|
|
<p><strong>后续安排</strong></p>
|
|||
|
|
<ul>
|
|||
|
|
<li>用于简明列出下周计划</li>
|
|||
|
|
</ul>
|
|||
|
|
</li>
|
|||
|
|
</ol>
|
|||
|
|
<p>使用提示:</p>
|
|||
|
|
<ul>
|
|||
|
|
<li>模板使用了Templater语法(如<code><% tp.date.now() %></code>)自动填充日期</li>
|
|||
|
|
<li>需要安装Dataview插件才能正常使用查询功能</li>
|
|||
|
|
<li>完成的事项可以通过<code>quickAdd: <img class="emoji" draggable="false" alt="📒" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@14.1.2/assets/svg/1f4d2.svg" data-marp-twemoji=""/>草稿归档</code>命令自动归档</li>
|
|||
|
|
</ul>
|
|||
|
|
<p>要使用此模板:</p>
|
|||
|
|
<ol>
|
|||
|
|
<li>确保已安装所需插件(Dataview, Templater等)</li>
|
|||
|
|
<li>创建新笔记时选择此模板</li>
|
|||
|
|
<li>模板会自动填充日期和查询最近一周的内容</li>
|
|||
|
|
<li>手动填写本周小结和后续安排部分</li>
|
|||
|
|
</ol>
|
|||
|
|
<h4 id="sources">Sources:</h4>
|
|||
|
|
<ul>
|
|||
|
|
<li>[[每周小结]]</li>
|
|||
|
|
<li>[[obsidian撰写草稿]]</li>
|
|||
|
|
<li>[[obsidian第三方插件列表]]</li>
|
|||
|
|
<li>[[7-同步助手 - 文档中心 - 简悦 SimpRead - 如杂志般沉浸式阅读体验的扩展@annote]]<br />
|
|||
|
|
[Timestamp: 2025/08/31 09:52:54]</li>
|
|||
|
|
</ul>
|
|||
|
|
<p><strong>user</strong>: 现在长沙哪里好玩<br />
|
|||
|
|
[Timestamp: 2025/08/31 09:54:45]</p>
|
|||
|
|
<p><strong>ai</strong>:<br />
|
|||
|
|
根据您提供的上下文,我注意到您的笔记库中没有关于长沙旅游的特定信息。不过,我可以为您推荐长沙当前热门的景点和活动:</p>
|
|||
|
|
<h3 id="%F0%9F%8F%9E%EF%B8%8F-%E9%95%BF%E6%B2%99%E7%83%AD%E9%97%A8%E6%99%AF%E7%82%B9%E6%8E%A8%E8%8D%90"><img class="emoji" draggable="false" alt="🏞️" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@14.1.2/assets/svg/1f3de.svg" data-marp-twemoji=""/> 长沙热门景点推荐</h3>
|
|||
|
|
<ol>
|
|||
|
|
<li>
|
|||
|
|
<p><strong>橘子洲头</strong></p>
|
|||
|
|
<ul>
|
|||
|
|
<li>湘江中的标志性沙洲,有青年毛泽东雕塑</li>
|
|||
|
|
<li>建议傍晚前往欣赏灯光秀</li>
|
|||
|
|
</ul>
|
|||
|
|
</li>
|
|||
|
|
<li>
|
|||
|
|
<p><strong>岳麓山风景区</strong></p>
|
|||
|
|
<ul>
|
|||
|
|
<li>包含岳麓书院(千年学府)和爱晚亭</li>
|
|||
|
|
<li>可乘坐缆车俯瞰长沙全景</li>
|
|||
|
|
</ul>
|
|||
|
|
</li>
|
|||
|
|
<li>
|
|||
|
|
<p><strong>太平老街</strong></p>
|
|||
|
|
<ul>
|
|||
|
|
<li>长沙美食集中地:臭豆腐、糖油粑粑、茶颜悦色</li>
|
|||
|
|
<li>保留明清时期街巷格局</li>
|
|||
|
|
</ul>
|
|||
|
|
</li>
|
|||
|
|
<li>
|
|||
|
|
<p><strong>湖南省博物馆</strong></p>
|
|||
|
|
<ul>
|
|||
|
|
<li>必看马王堆汉墓陈列(辛追夫人)</li>
|
|||
|
|
<li>免费但需提前预约</li>
|
|||
|
|
</ul>
|
|||
|
|
</li>
|
|||
|
|
</ol>
|
|||
|
|
<h3 id="%F0%9F%8E%A1-%E7%89%B9%E8%89%B2%E4%BD%93%E9%AA%8C"><img class="emoji" draggable="false" alt="🎡" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@14.1.2/assets/svg/1f3a1.svg" data-marp-twemoji=""/> 特色体验</h3>
|
|||
|
|
<ul>
|
|||
|
|
<li><strong>梅溪湖文化艺术中心</strong>:扎哈·哈迪德设计的未来建筑</li>
|
|||
|
|
<li><strong>世界之窗夜场</strong>:夏季限定水上乐园和灯光秀</li>
|
|||
|
|
<li><strong>湘江游轮</strong>:夜游观赏两岸灯光景观</li>
|
|||
|
|
</ul>
|
|||
|
|
<h3 id="%F0%9F%93%8C-%E6%B8%A9%E9%A6%A8%E6%8F%90%E7%A4%BA"><img class="emoji" draggable="false" alt="📌" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@14.1.2/assets/svg/1f4cc.svg" data-marp-twemoji=""/> 温馨提示</h3>
|
|||
|
|
<ol>
|
|||
|
|
<li>夏季长沙气温较高(35℃+),建议:
|
|||
|
|
<ul>
|
|||
|
|
<li>避开正午户外活动</li>
|
|||
|
|
<li>备好防晒用品</li>
|
|||
|
|
</ul>
|
|||
|
|
</li>
|
|||
|
|
<li>热门景点建议工作日前往</li>
|
|||
|
|
<li>使用「长沙地铁APP」扫码乘车更方便</li>
|
|||
|
|
</ol>
|
|||
|
|
<p>如果需要更个性化的推荐(如亲子游/美食探店/文化体验),可以告诉我您的具体需求。建议将旅行计划保存到笔记中,例如创建[[长沙旅行攻略]]笔记并添加<code>#travel</code>标签方便后续查找。<br />
|
|||
|
|
[Timestamp: 2025/08/31 09:55:54]</p>
|
|||
|
|
<p><strong>user</strong>: 现在长沙哪里好玩<br />
|
|||
|
|
[Timestamp: 2025/08/31 09:57:20]</p>
|
|||
|
|
<p><strong>ai</strong>:<br />
|
|||
|
|
根据当前季节和长沙的旅游热点,以下是2024年夏季长沙最新推荐(结合本地特色和游客反馈):</p>
|
|||
|
|
<h3 id="%F0%9F%8C%86-%E5%BF%85%E6%89%93%E5%8D%A1%E6%99%AF%E7%82%B9"><img class="emoji" draggable="false" alt="🌆" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@14.1.2/assets/svg/1f306.svg" data-marp-twemoji=""/> 必打卡景点</h3>
|
|||
|
|
<ol>
|
|||
|
|
<li>
|
|||
|
|
<p><strong>橘子洲夜游</strong>(19:30-22:00)</p>
|
|||
|
|
<ul>
|
|||
|
|
<li>新增沉浸式光影秀《湘江颂》</li>
|
|||
|
|
<li>周五/六有无人机表演(需提前预约)</li>
|
|||
|
|
<li>地铁2号线直达,建议18:00后前往避暑</li>
|
|||
|
|
</ul>
|
|||
|
|
</li>
|
|||
|
|
<li>
|
|||
|
|
<p><strong>岳麓山清凉路线</strong></p>
|
|||
|
|
<ul>
|
|||
|
|
<li>新开放「清风峡溯溪步道」(东门进)</li>
|
|||
|
|
<li>山顶茶颜悦色概念店(限定款「岳麓清风」)</li>
|
|||
|
|
<li>夜爬观星活动(每周三21:00,爱晚亭集合)</li>
|
|||
|
|
</ul>
|
|||
|
|
</li>
|
|||
|
|
<li>
|
|||
|
|
<p><strong>西园北里历史文化街区</strong>(新晋网红)</p>
|
|||
|
|
<ul>
|
|||
|
|
<li>民国公馆建筑群+文创小店</li>
|
|||
|
|
<li>每晚19:00老街实景话剧《长沙往事》</li>
|
|||
|
|
<li>特色:冬瓜山肉肠、紫苏桃子姜</li>
|
|||
|
|
</ul>
|
|||
|
|
</li>
|
|||
|
|
</ol>
|
|||
|
|
<h3 id="%F0%9F%8D%9C-%E7%BE%8E%E9%A3%9F%E7%83%AD%E7%82%B9"><img class="emoji" draggable="false" alt="🍜" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@14.1.2/assets/svg/1f35c.svg" data-marp-twemoji=""/> 美食热点</h3>
|
|||
|
|
<table>
|
|||
|
|
<thead>
|
|||
|
|
<tr>
|
|||
|
|
<th>区域</th>
|
|||
|
|
<th>推荐项目</th>
|
|||
|
|
<th>特色</th>
|
|||
|
|
</tr>
|
|||
|
|
</thead>
|
|||
|
|
<tbody>
|
|||
|
|
<tr>
|
|||
|
|
<td>冬瓜山夜市</td>
|
|||
|
|
<td>丹丹热卤(四合一)</td>
|
|||
|
|
<td>猪油拌粉+紫苏田螺</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>扬帆夜市</td>
|
|||
|
|
<td>小刘生煎(爆汁款)</td>
|
|||
|
|
<td>24小时营业</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>潮宗街</td>
|
|||
|
|
<td>茶颜悦色「少年游」主题店</td>
|
|||
|
|
<td>限定款「橘洲夏梦」冰淇淋</td>
|
|||
|
|
</tr>
|
|||
|
|
</tbody>
|
|||
|
|
</table>
|
|||
|
|
<h3 id="%F0%9F%8C%83-%E5%AE%A4%E5%86%85%E9%81%BF%E6%9A%91%E7%B2%BE%E9%80%89"><img class="emoji" draggable="false" alt="🌃" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@14.1.2/assets/svg/1f303.svg" data-marp-twemoji=""/> 室内避暑精选</h3>
|
|||
|
|
<ol>
|
|||
|
|
<li>
|
|||
|
|
<p><strong>湖南省博物馆</strong>(新展)</p>
|
|||
|
|
<ul>
|
|||
|
|
<li>《青铜时代:长江流域的文明》特展(至9月)</li>
|
|||
|
|
<li>数字展厅:马王堆全息投影(每半小时)</li>
|
|||
|
|
</ul>
|
|||
|
|
</li>
|
|||
|
|
<li>
|
|||
|
|
<p><strong>梅溪湖艺术中心</strong></p>
|
|||
|
|
<ul>
|
|||
|
|
<li>扎哈建筑内部导览(每日10:00/15:00)</li>
|
|||
|
|
<li>负一层「镜面迷宫」体验馆</li>
|
|||
|
|
</ul>
|
|||
|
|
</li>
|
|||
|
|
<li>
|
|||
|
|
<p><strong>覔书店</strong>(北辰三角洲)</p>
|
|||
|
|
<ul>
|
|||
|
|
<li>10米高巨型书塔+江景咖啡厅</li>
|
|||
|
|
<li>每周六15:00湘籍作家签售会</li>
|
|||
|
|
</ul>
|
|||
|
|
</li>
|
|||
|
|
</ol>
|
|||
|
|
<h3 id="%F0%9F%93%85-%E8%BF%91%E6%9C%9F%E6%B4%BB%E5%8A%A8"><img class="emoji" draggable="false" alt="📅" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@14.1.2/assets/svg/1f4c5.svg" data-marp-twemoji=""/> 近期活动</h3>
|
|||
|
|
<ul>
|
|||
|
|
<li><strong>8月橘子洲音乐节</strong>(每周五/六晚)</li>
|
|||
|
|
<li><strong>洋湖湿地荷花展</strong>(至8月20日,夜游船19:00起)</li>
|
|||
|
|
<li><strong>IFS天台星空影院</strong>(每日20:00,需预约)</li>
|
|||
|
|
</ul>
|
|||
|
|
<blockquote>
|
|||
|
|
<p><img class="emoji" draggable="false" alt="💡" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@14.1.2/assets/svg/1f4a1.svg" data-marp-twemoji=""/> 温馨提示:</p>
|
|||
|
|
<ol>
|
|||
|
|
<li>使用「长沙地铁APP」扫码乘车享9折</li>
|
|||
|
|
<li>景点预约:微信公众号「长沙本地宝」</li>
|
|||
|
|
<li>高温预警(35℃+):建议携带手持小风扇+清凉喷雾</li>
|
|||
|
|
</ol>
|
|||
|
|
</blockquote>
|
|||
|
|
<p>建议创建专属旅行笔记:</p>
|
|||
|
|
<pre is="marp-pre" data-auto-scaling="downscale-only"><code class="language-markdown"><span class="hljs-section"># [[长沙旅行计划]] </span>
|
|||
|
|
<span class="hljs-section">## 行程路线</span>
|
|||
|
|
<span class="hljs-bullet">-</span> [ ] 上午:岳麓山溯溪
|
|||
|
|
<span class="hljs-bullet">-</span> [ ] 下午:湖南省博物馆
|
|||
|
|
<span class="hljs-bullet">-</span> [ ] 晚上:冬瓜山夜市
|
|||
|
|
|
|||
|
|
<span class="hljs-section">## 美食清单</span>
|
|||
|
|
<span class="hljs-bullet">-</span> [ ] 茶颜悦色:橘洲夏梦
|
|||
|
|
<span class="hljs-bullet">-</span> [ ] 丹丹热卤四合一
|
|||
|
|
<span class="hljs-bullet">-</span> [ ] 小刘生煎爆汁款
|
|||
|
|
</code></pre>
|
|||
|
|
<p>需要我帮您生成完整行程表吗?<br />
|
|||
|
|
[Timestamp: 2025/08/31 09:58:24]</p>
|
|||
|
|
<p><strong>user</strong>: onlyoffice docker安装教程<br />
|
|||
|
|
[Timestamp: 2025/08/31 10:23:29]</p>
|
|||
|
|
<p><strong>ai</strong>: 以下是 <strong>ONLYOFFICE Docs Docker 安装教程</strong>(最新社区版),包含常见问题解决方案:</p>
|
|||
|
|
</section>
|
|||
|
|
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="2">
|
|||
|
|
<h3 id="1-%E5%9F%BA%E7%A1%80%E5%AE%89%E8%A3%85"><strong>1. 基础安装</strong></h3>
|
|||
|
|
<h4 id="%E6%9C%80%E4%BD%8E%E7%B3%BB%E7%BB%9F%E8%A6%81%E6%B1%82">最低系统要求</h4>
|
|||
|
|
<ul>
|
|||
|
|
<li>2核CPU / 4GB内存 / 20GB硬盘</li>
|
|||
|
|
<li>Docker Engine 20.10+ 和 Docker Compose</li>
|
|||
|
|
</ul>
|
|||
|
|
<h4 id="%E5%BF%AB%E9%80%9F%E5%90%AF%E5%8A%A8%E5%91%BD%E4%BB%A4">快速启动命令</h4>
|
|||
|
|
<pre is="marp-pre" data-auto-scaling="downscale-only"><code class="language-bash">docker run -i -t -d -p 8080:80 --restart=always \
|
|||
|
|
-v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice \
|
|||
|
|
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \
|
|||
|
|
-v /app/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice \
|
|||
|
|
--name onlyoffice-docs \
|
|||
|
|
onlyoffice/documentserver:7.4
|
|||
|
|
</code></pre>
|
|||
|
|
</section>
|
|||
|
|
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="3">
|
|||
|
|
<h3 id="2-%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE"><strong>2. 生产环境配置</strong></h3>
|
|||
|
|
<h4 id="docker-composeyml-%E7%A4%BA%E4%BE%8B">docker-compose.yml 示例</h4>
|
|||
|
|
<pre is="marp-pre" data-auto-scaling="downscale-only"><code class="language-yaml"><span class="hljs-attr">version:</span> <span class="hljs-string">'3'</span>
|
|||
|
|
<span class="hljs-attr">services:</span>
|
|||
|
|
<span class="hljs-attr">onlyoffice:</span>
|
|||
|
|
<span class="hljs-attr">image:</span> <span class="hljs-string">onlyoffice/documentserver:7.4</span>
|
|||
|
|
<span class="hljs-attr">container_name:</span> <span class="hljs-string">onlyoffice</span>
|
|||
|
|
<span class="hljs-attr">restart:</span> <span class="hljs-string">always</span>
|
|||
|
|
<span class="hljs-attr">ports:</span>
|
|||
|
|
<span class="hljs-bullet">-</span> <span class="hljs-string">"8443:443"</span>
|
|||
|
|
<span class="hljs-attr">volumes:</span>
|
|||
|
|
<span class="hljs-bullet">-</span> <span class="hljs-string">./data:/var/www/onlyoffice/Data</span>
|
|||
|
|
<span class="hljs-bullet">-</span> <span class="hljs-string">./logs:/var/log/onlyoffice</span>
|
|||
|
|
<span class="hljs-bullet">-</span> <span class="hljs-string">./lib:/var/lib/onlyoffice</span>
|
|||
|
|
<span class="hljs-attr">environment:</span>
|
|||
|
|
<span class="hljs-bullet">-</span> <span class="hljs-string">JWT_ENABLED=true</span>
|
|||
|
|
<span class="hljs-bullet">-</span> <span class="hljs-string">JWT_SECRET=your_strong_password</span>
|
|||
|
|
</code></pre>
|
|||
|
|
<h4 id="%E5%85%B3%E9%94%AE%E5%8F%82%E6%95%B0%E8%AF%B4%E6%98%8E">关键参数说明</h4>
|
|||
|
|
<table>
|
|||
|
|
<thead>
|
|||
|
|
<tr>
|
|||
|
|
<th>参数</th>
|
|||
|
|
<th>作用</th>
|
|||
|
|
<th>示例值</th>
|
|||
|
|
</tr>
|
|||
|
|
</thead>
|
|||
|
|
<tbody>
|
|||
|
|
<tr>
|
|||
|
|
<td><code>JWT_ENABLED</code></td>
|
|||
|
|
<td>启用API安全验证</td>
|
|||
|
|
<td><code>true</code></td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td><code>JWT_SECRET</code></td>
|
|||
|
|
<td>签名密钥(至少16字符)</td>
|
|||
|
|
<td><code>MySuperSecretKey123!</code></td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td><code>DB_TYPE</code></td>
|
|||
|
|
<td>数据库类型(默认SQLite)</td>
|
|||
|
|
<td><code>postgres</code></td>
|
|||
|
|
</tr>
|
|||
|
|
</tbody>
|
|||
|
|
</table>
|
|||
|
|
</section>
|
|||
|
|
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="4">
|
|||
|
|
<h3 id="3-%E5%88%9D%E5%A7%8B%E5%8C%96%E9%85%8D%E7%BD%AE"><strong>3. 初始化配置</strong></h3>
|
|||
|
|
<ol>
|
|||
|
|
<li>
|
|||
|
|
<p><strong>访问控制台</strong><br />
|
|||
|
|
安装完成后访问:<br />
|
|||
|
|
<code>http://服务器IP:8080/welcome/</code><br />
|
|||
|
|
(HTTPS需配置SSL证书)</p>
|
|||
|
|
</li>
|
|||
|
|
<li>
|
|||
|
|
<p><strong>验证服务状态</strong></p>
|
|||
|
|
<pre is="marp-pre" data-auto-scaling="downscale-only"><code class="language-bash">docker <span class="hljs-built_in">exec</span> onlyoffice-docs supervisorctl status
|
|||
|
|
</code></pre>
|
|||
|
|
<p>正常应显示:<br />
|
|||
|
|
<code>docservice: RUNNING</code><br />
|
|||
|
|
<code>converter: RUNNING</code><br />
|
|||
|
|
<code>proxy: RUNNING</code></p>
|
|||
|
|
</li>
|
|||
|
|
</ol>
|
|||
|
|
</section>
|
|||
|
|
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="5">
|
|||
|
|
<h3 id="4-%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98%E8%A7%A3%E5%86%B3"><strong>4. 常见问题解决</strong></h3>
|
|||
|
|
<h4 id="%F0%9F%94%B4-%E7%AB%AF%E5%8F%A3%E5%86%B2%E7%AA%81"><img class="emoji" draggable="false" alt="🔴" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@14.1.2/assets/svg/1f534.svg" data-marp-twemoji=""/> 端口冲突</h4>
|
|||
|
|
<p>错误表现:<br />
|
|||
|
|
<code>Address already in use</code><br />
|
|||
|
|
解决方案:</p>
|
|||
|
|
<pre is="marp-pre" data-auto-scaling="downscale-only"><code class="language-bash"><span class="hljs-comment"># 查看占用进程</span>
|
|||
|
|
sudo lsof -i :8080
|
|||
|
|
<span class="hljs-comment"># 修改映射端口(如改为8090)</span>
|
|||
|
|
docker run ... -p 8090:80 ...
|
|||
|
|
</code></pre>
|
|||
|
|
<h4 id="%F0%9F%9F%A1-%E5%AD%97%E4%BD%93%E7%BC%BA%E5%A4%B1"><img class="emoji" draggable="false" alt="🟡" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@14.1.2/assets/svg/1f7e1.svg" data-marp-twemoji=""/> 字体缺失</h4>
|
|||
|
|
<p>中文显示异常时:</p>
|
|||
|
|
<pre is="marp-pre" data-auto-scaling="downscale-only"><code class="language-bash"><span class="hljs-comment"># 进入容器安装字体</span>
|
|||
|
|
docker <span class="hljs-built_in">exec</span> -it onlyoffice-docs bash
|
|||
|
|
apt update && apt install -y fonts-wqy-microhei
|
|||
|
|
</code></pre>
|
|||
|
|
<h4 id="%F0%9F%9F%A2-%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96"><img class="emoji" draggable="false" alt="🟢" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@14.1.2/assets/svg/1f7e2.svg" data-marp-twemoji=""/> 性能优化</h4>
|
|||
|
|
<pre is="marp-pre" data-auto-scaling="downscale-only"><code class="language-yaml"><span class="hljs-comment"># 在docker-compose.yml中添加资源限制</span>
|
|||
|
|
<span class="hljs-attr">deploy:</span>
|
|||
|
|
<span class="hljs-attr">resources:</span>
|
|||
|
|
<span class="hljs-attr">limits:</span>
|
|||
|
|
<span class="hljs-attr">cpus:</span> <span class="hljs-string">'2'</span>
|
|||
|
|
<span class="hljs-attr">memory:</span> <span class="hljs-string">4G</span>
|
|||
|
|
</code></pre>
|
|||
|
|
</section>
|
|||
|
|
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="6">
|
|||
|
|
<h3 id="5-%E8%BF%9B%E9%98%B6%E5%8A%9F%E8%83%BD"><strong>5. 进阶功能</strong></h3>
|
|||
|
|
<h4 id="%E9%9B%86%E6%88%90nextcloudowncloud">集成Nextcloud/OwnCloud</h4>
|
|||
|
|
<ol>
|
|||
|
|
<li>安装ONLYOFFICE插件</li>
|
|||
|
|
<li>配置连接地址:<br />
|
|||
|
|
<code>https://your-server:8080/web-apps/apps/api/documents/api.js</code></li>
|
|||
|
|
</ol>
|
|||
|
|
<h4 id="%E5%A4%87%E4%BB%BD%E7%AD%96%E7%95%A5">备份策略</h4>
|
|||
|
|
<pre is="marp-pre" data-auto-scaling="downscale-only"><code class="language-bash"><span class="hljs-comment"># 定期备份数据卷</span>
|
|||
|
|
tar -czvf onlyoffice_backup_$(<span class="hljs-built_in">date</span> +%F).tar.gz /app/onlyoffice
|
|||
|
|
</code></pre>
|
|||
|
|
</section>
|
|||
|
|
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="7">
|
|||
|
|
<blockquote>
|
|||
|
|
<p><img class="emoji" draggable="false" alt="💡" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@14.1.2/assets/svg/1f4a1.svg" data-marp-twemoji=""/> <strong>提示</strong>:</p>
|
|||
|
|
<ul>
|
|||
|
|
<li>如需HTTPS访问,推荐使用Nginx反向代理+Let's Encrypt证书</li>
|
|||
|
|
<li>企业版需替换镜像为<code>onlyoffice/documentserver-ee</code></li>
|
|||
|
|
</ul>
|
|||
|
|
</blockquote>
|
|||
|
|
<p>需要更详细的Nginx配置或集群部署方案吗?</p>
|
|||
|
|
<h4 id="sources-1">Sources:</h4>
|
|||
|
|
<ul>
|
|||
|
|
<li>[[ONLYOFFICE 协作空间 3.0 新功能详解 - 知乎]]</li>
|
|||
|
|
<li>[[docker 日志清除命令 - 搜索]]<br />
|
|||
|
|
[Timestamp: 2025/08/31 10:29:14]</li>
|
|||
|
|
</ul>
|
|||
|
|
</section>
|
|||
|
|
<script>!function(){"use strict";const t={h1:{proto:()=>HTMLHeadingElement,attrs:{role:"heading","aria-level":"1"},style:"display: block; font-size: 2em; margin-block-start: 0.67em; margin-block-end: 0.67em; margin-inline-start: 0px; margin-inline-end: 0px; font-weight: bold;"},h2:{proto:()=>HTMLHeadingElement,attrs:{role:"heading","aria-level":"2"},style:"display: block; font-size: 1.5em; margin-block-start: 0.83em; margin-block-end: 0.83em; margin-inline-start: 0px; margin-inline-end: 0px; font-weight: bold;"},h3:{proto:()=>HTMLHeadingElement,attrs:{role:"heading","aria-level":"3"},style:"display: block; font-size: 1.17em; margin-block-start: 1em; margin-block-end: 1em; margin-inline-start: 0px; margin-inline-end: 0px; font-weight: bold;"},h4:{proto:()=>HTMLHeadingElement,attrs:{role:"heading","aria-level":"4"},style:"display: block; margin-block-start: 1.33em; margin-block-end: 1.33em; margin-inline-start: 0px; margin-inline-end: 0px; font-weight: bold;"},h5:{proto:()=>HTMLHeadingElement,attrs:{role:"heading","aria-level":"5"},style:"display: block; font-size: 0.83em; margin-block-start: 1.67em; margin-block-end: 1.67em; margin-inline-start: 0px; margin-inline-end: 0px; font-weight: bold;"},h6:{proto:()=>HTMLHeadingElement,attrs:{role:"heading","aria-level":"6"},style:"display: block; font-size: 0.67em; margin-block-start: 2.33em; margin-block-end: 2.33em; margin-inline-start: 0px; margin-inline-end: 0px; font-weight: bold;"},span:{proto:()=>HTMLSpanElement},pre:{proto:()=>HTMLElement,style:"display: block; font-family: monospace; white-space: pre; margin: 1em 0; --marp-auto-scaling-white-space: pre;"}},e="data-marp-auto-scaling-wrapper",i="data-marp-auto-scaling-svg",n="data-marp-auto-scaling-container";class s extends HTMLElement{constructor(){super(),this.svgPreserveAspectRatio="xMinYMid meet";const t=t=>([e])=>{const{width:i,height:n}=e.contentRect;this[t]={width:i,height:n},this.updateSVGRect()};this.attachShadow({mode:"open"}),this.containerObserver=new ResizeObserver(t("containerSize")),this.wrapperObserver=new ResizeObserver(((...e)=>{t("wrapperSize")(...e),this.flushSvgDisplay()}))}static get observedAttributes(){return["data-downscale-only"]}connectedCallback(){var t,s,o,r,a;this.shadowRoot.innerHTML=`\n<style>\n svg[${i}] { display: block; width: 100%; height: auto; vertical-align: top; }\n span[${n}] { display: table; white-space: var(--marp-auto-scaling-white-space, nowrap); width: max-content; }\n</style>\n<div ${e}>\n <svg part="svg" ${i}>\n <foreignObject><span ${n}><slot></slot></span></foreignObject>\n </svg>\n</div>\n `.split(/\n\s*/).join(""),this.wrapper=null!==(t=this.shadowRoot.querySelector(`div[${e}]`))&&void 0!==t?t:void 0;const l=this.svg;this.svg=null!==(o=null===(s=this.wrapper)||void 0===s?void 0:s.querySelector(`svg[${i}]`))&&void 0!==o?o:void 0,this.svg!==l&&(this.svgComputedStyle=this.svg?window.getComputedStyle(this.svg):void 0),this.container=null!==(a=null===(r=this.svg)||void 0===r?void 0:r.querySelector(`span[${n}]`))&&void 0!==a?a:void 0,this.observe()}disconnectedCallback(){this.svg=void 0,this.svgComputedStyle=void 0,this.wrapper=void 0,this.container=void 0,this.observe()}attributeChangedCallback(){this.observe()}flushSvgDisplay(){const{svg:t}=this;t&&(t.style.display="inline",requestAnimationFrame((()=>{t.style.display=""})))}observe(){this.containerObserver.disconnect(),this.wrapperObserver.disconnect(),this.wrapper&&this.wrapperObserver.observe(this.wrapper),this.container&&this.containerObserver.observe(this.container),this.svgComputedStyle&&this.observeSVGStyle(this.svgComputedStyle)}observeSVGStyle(t){const e=()=>{const i=(()=>{const e=t.getPropertyValue("--preserve-aspect-ratio");if(e)return e.trim();return`x${(({textAlign:t,direction:e})=>{if(t.endsWith("left"))return"Min";if(t.endsWith("right"))return"Max";if("start"===t||"end"===t){let i="rtl"===e;return"end"===t&&(i=!i),i?"Max":"Min"}return"Mid"})(t)}YMid meet`})();i!==this.svgPreserveAspectRatio&&(this.svgPreserveAspectRatio=i,this.updateSVGRect()),t===this.svgComputedStyle&&requestAnimationFrame(e)};e()
|
|||
|
|
</script></foreignObject></svg></div><script>/*!! License: https://unpkg.com/@marp-team/marp-cli@2.5.0/lib/bespoke.js.LICENSE.txt */
|
|||
|
|
!function(){"use strict";function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var t={from:function(e,t){var n,r=1===(e.parent||e).nodeType?e.parent||e:document.querySelector(e.parent||e),o=[].filter.call("string"==typeof e.slides?r.querySelectorAll(e.slides):e.slides||r.children,(function(e){return"SCRIPT"!==e.nodeName})),i={},a=function(e,t){return(t=t||{}).index=o.indexOf(e),t.slide=e,t},s=function(e,t){i[e]=(i[e]||[]).filter((function(e){return e!==t}))},l=function(e,t){return(i[e]||[]).reduce((function(e,n){return e&&!1!==n(t)}),!0)},c=function(e,t){o[e]&&(n&&l("deactivate",a(n,t)),n=o[e],l("activate",a(n,t)))},d=function(e,t){var r=o.indexOf(n)+e;l(e>0?"next":"prev",a(n,t))&&c(r,t)},u={off:s,on:function(e,t){return(i[e]||(i[e]=[])).push(t),s.bind(null,e,t)},fire:l,slide:function(e,t){if(!arguments.length)return o.indexOf(n);l("slide",a(o[e],t))&&c(e,t)},next:d.bind(null,1),prev:d.bind(null,-1),parent:r,slides:o,destroy:function(e){l("destroy",a(n,e)),i={}}};return(t||[]).forEach((function(e){e(u)})),n||c(0),u}},n=e(t);const r=document.body,o=(...e)=>history.replaceState(...e),i="presenter",a="next",s=["",i,a],l="bespoke-marp-",c=`data-${l}`,d=(e,{protocol:t,host:n,pathname:r,hash:o}=location)=>{const i=e.toString();return`${t}//${n}${r}${i?"?":""}${i}${o}`},u=()=>r.dataset.bespokeView,f=e=>new URLSearchParams(location.search).get(e),m=(e,t={})=>{var n;const r={location,setter:o,...t},i=new URLSearchParams(r.location.search);for(const t of Object.keys(e)){const n=e[t];"string"==typeof n?i.set(t,n):i.delete(t)}try{r.setter({...null!==(n=window.history.state)&&void 0!==n?n:{}},"",d(i,r.location))}catch(e){console.error(e)}},g=(()=>{const e="bespoke-marp";try{return localStorage.setItem(e,e),localStorage.removeItem(e),!0}catch(e){return!1}})(),p=e=>{try{return localStorage.getItem(e)}catch(e){return null}},v=(e,t)=>{try{return localStorage.setItem(e,t),!0}catch(e){return!1}},h=e=>{try{return localStorage.removeItem(e),!0}catch(e){return!1}},y=(e,t)=>{const n="aria-hidden";t?e.setAttribute(n,"true"):e.removeAttribute(n)},b=e=>{e.parent.classList.add(`${l}parent`),e.slides.forEach((e=>e.classList.add(`${l}slide`))),e.on("activate",(t=>{const n=`${l}active`,r=t.slide,o=r.classList,i=!o.contains(n);if(e.slides.forEach((e=>{e.classList.remove(n),y(e,!0)})),o.add(n),y(r,!1),i){const e=`${n}-ready`;o.add(e),document.body.clientHeight,o.remove(e)}}))},w=e=>{let t=0,n=0;Object.defineProperty(e,"fragments",{enumerable:!0,value:e.slides.map((e=>[null,...e.querySelectorAll("[data-marpit-fragment]")]))});const r=r=>void 0!==e.fragments[t][n+r],o=(r,o)=>{t=r,n=o,e.fragments.forEach(((e,t)=>{e.forEach(((e,n)=>{if(null==e)return;const i=t<r||t===r&&n<=o;e.setAttribute(`${c}fragment`,(i?"":"in")+"active");const a=`${c}current-fragment`;t===r&&n===o?e.setAttribute(a,"current"):e.removeAttribute(a)}))})),e.fragmentIndex=o;const i={slide:e.slides[r],index:r,fragments:e.fragments[r],fragmentIndex:o};e.fire("fragment",i)};e.on("next",(({fragment:i=!0})=>{if(i){if(r(1))return o(t,n+1),!1;const i=t+1;e.fragments[i]&&o(i,0)}else{const r=e.fragments[t].length;if(n+1<r)return o(t,r-1),!1;const i=e.fragments[t+1];i&&o(t+1,i.length-1)}})),e.on("prev",(({fragment:i=!0})=>{if(r(-1)&&i)return o(t,n-1),!1;const a=t-1;e.fragments[a]&&o(a,e.fragments[a].length-1)})),e.on("slide",(({index:t,fragment:n})=>{let r=0;if(void 0!==n){const o=e.fragments[t];if(o){const{length:e}=o;r=-1===n?e-1:Math.min(Math.max(n,0),e-1)}}o(t,r)})),o(0,0)},x=document,k=()=>!(!x.fullscreenEnabled&&!x.webkitFullscreenEnabled),$=()=>!(!x.fullscreenElement&&!x.webkitFullscreenElement),E=e=>{e.fullscreen=()=>{k()&&(async()=>{return $()?null===(e=x.exitFullscreen||x.webkitExitFullscreen)||void 0===e?void 0:e.call(x):((e=x.body)=>{var t;return null===(t=e.requestFullscreen||e.webkitRequestFullscreen)||void 0===t?void 0:t.call(e)})();var e})()},document.addEventListener("keydown",(t=>{"f"!==t.key&&"F11"!==t.key||t.altKey||t.ctrlKey||t.metaKey||!k()||(e.fullscreen(),t.preventDefault())}))},L=`${l}inactive`,S=(e=2e3)=>({parent:t,fire:n})=>{c
|