<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Getting Started on Drasi Docs</title>
    <link>https://drasi.io/drasi-server/tutorials/getting-started/</link>
    <description>Recent content in Getting Started on Drasi Docs</description>
    <generator>Hugo</generator>
    <language>en</language>
    <copyright>Copyright&amp;nbsp;©&amp;nbsp;Drasi&amp;nbsp;a&amp;nbsp;Series&amp;nbsp;of&amp;nbsp;LF&amp;nbsp;Projects,&amp;nbsp;LLC. For&amp;nbsp;website&amp;nbsp;terms&amp;nbsp;of&amp;nbsp;use,&amp;nbsp;trademark&amp;nbsp;policy&amp;nbsp;and&amp;nbsp;other&amp;nbsp;project&amp;nbsp;policies&amp;nbsp;please&amp;nbsp;see&amp;nbsp;&lt;a href=&#34;https://lfprojects.org/policies/&#34;&gt;lfprojects.org/policies/&lt;/a&gt;.</copyright>
    <atom:link href="https://drasi.io/drasi-server/tutorials/getting-started/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title></title>
      <link>https://drasi.io/drasi-server/tutorials/getting-started/viewer/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://drasi.io/drasi-server/tutorials/getting-started/viewer/</guid>
      <description>&lt;!DOCTYPE html&gt;&#xA;&lt;!--&#xA;Copyright 2025 The Drasi Authors.&#xA;&#xA;Licensed under the Apache License, Version 2.0 (the &#34;License&#34;);&#xA;you may not use this file except in compliance with the License.&#xA;You may obtain a copy of the License at&#xA;&#xA;    http://www.apache.org/licenses/LICENSE-2.0&#xA;&#xA;Unless required by applicable law or agreed to in writing, software&#xA;distributed under the License is distributed on an &#34;AS IS&#34; BASIS,&#xA;WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&#xA;See the License for the specific language governing permissions and&#xA;limitations under the License.&#xA;--&gt;&#xA;&lt;html lang=&#34;en&#34;&gt;&#xA;&lt;head&gt;&#xA;    &lt;meta charset=&#34;UTF-8&#34;&gt;&#xA;    &lt;meta name=&#34;viewport&#34; content=&#34;width=device-width, initial-scale=1.0&#34;&gt;&#xA;    &lt;title&gt;Drasi Server - Getting Started Viewer&lt;/title&gt;&#xA;    &lt;style&gt;&#xA;        * {&#xA;            box-sizing: border-box;&#xA;            margin: 0;&#xA;            padding: 0;&#xA;        }&#xA;&#xA;        body {&#xA;            font-family: -apple-system, BlinkMacSystemFont, &#39;Segoe UI&#39;, Roboto, Oxygen, Ubuntu, sans-serif;&#xA;            background: #1a1a2e;&#xA;            color: #eee;&#xA;            min-height: 100vh;&#xA;            padding: 20px;&#xA;        }&#xA;&#xA;        .header {&#xA;            text-align: center;&#xA;            margin-bottom: 30px;&#xA;        }&#xA;&#xA;        .header h1 {&#xA;            color: #00d4ff;&#xA;            margin-bottom: 10px;&#xA;        }&#xA;&#xA;        .status {&#xA;            display: inline-flex;&#xA;            align-items: center;&#xA;            gap: 8px;&#xA;            padding: 8px 16px;&#xA;            border-radius: 20px;&#xA;            background: #2d2d44;&#xA;            font-size: 14px;&#xA;        }&#xA;&#xA;        .status-dot {&#xA;            width: 10px;&#xA;            height: 10px;&#xA;            border-radius: 50%;&#xA;            background: #ff4444;&#xA;        }&#xA;&#xA;        .status-dot.connected {&#xA;            background: #44ff44;&#xA;            animation: pulse 2s infinite;&#xA;        }&#xA;&#xA;        @keyframes pulse {&#xA;            0%, 100% { opacity: 1; }&#xA;            50% { opacity: 0.5; }&#xA;        }&#xA;&#xA;        .container {&#xA;            display: grid;&#xA;            grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));&#xA;            gap: 20px;&#xA;            max-width: 1400px;&#xA;            margin: 0 auto;&#xA;        }&#xA;&#xA;        .query-panel {&#xA;            background: #2d2d44;&#xA;            border-radius: 12px;&#xA;            overflow: hidden;&#xA;            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);&#xA;        }&#xA;&#xA;        .query-header {&#xA;            background: #3d3d5c;&#xA;            padding: 15px 20px;&#xA;            border-bottom: 1px solid #4d4d6d;&#xA;        }&#xA;&#xA;        .query-header h2 {&#xA;            font-size: 16px;&#xA;            color: #00d4ff;&#xA;            margin-bottom: 5px;&#xA;        }&#xA;&#xA;        .query-header p {&#xA;            font-size: 12px;&#xA;            color: #888;&#xA;        }&#xA;&#xA;        .query-content {&#xA;            padding: 15px;&#xA;            max-height: 300px;&#xA;            overflow-y: auto;&#xA;        }&#xA;&#xA;        .result-table {&#xA;            width: 100%;&#xA;            border-collapse: collapse;&#xA;            font-size: 13px;&#xA;        }&#xA;&#xA;        .result-table th {&#xA;            text-align: left;&#xA;            padding: 8px 12px;&#xA;            background: #3d3d5c;&#xA;            color: #00d4ff;&#xA;            font-weight: 500;&#xA;        }&#xA;&#xA;        .result-table td {&#xA;            padding: 8px 12px;&#xA;            border-bottom: 1px solid #3d3d5c;&#xA;        }&#xA;&#xA;        .result-table tr:hover {&#xA;            background: #3d3d5c;&#xA;        }&#xA;&#xA;        .result-table tr.added {&#xA;            animation: highlight-add 2s ease-out;&#xA;        }&#xA;&#xA;        .result-table tr.updated {&#xA;            animation: highlight-update 2s ease-out;&#xA;        }&#xA;&#xA;        .result-table tr.deleted {&#xA;            animation: highlight-delete 1s ease-out;&#xA;        }&#xA;&#xA;        @keyframes highlight-add {&#xA;            from { background: rgba(68, 255, 68, 0.3); }&#xA;            to { background: transparent; }&#xA;        }&#xA;&#xA;        @keyframes highlight-update {&#xA;            from { background: rgba(255, 200, 68, 0.3); }&#xA;            to { background: transparent; }&#xA;        }&#xA;&#xA;        @keyframes highlight-delete {&#xA;            from { background: rgba(255, 68, 68, 0.3); }&#xA;            to { background: transparent; }&#xA;        }&#xA;&#xA;        .empty-state {&#xA;            text-align: center;&#xA;            padding: 40px;&#xA;            color: #666;&#xA;        }&#xA;&#xA;        .event-log {&#xA;            grid-column: 1 / -1;&#xA;        }&#xA;&#xA;        .event-log .query-content {&#xA;            max-height: 200px;&#xA;            font-family: &#39;Monaco&#39;, &#39;Menlo&#39;, monospace;&#xA;            font-size: 12px;&#xA;        }&#xA;&#xA;        .log-entry {&#xA;            padding: 4px 0;&#xA;            border-bottom: 1px solid #3d3d5c;&#xA;        }&#xA;&#xA;        .log-entry.add { color: #44ff44; }&#xA;        .log-entry.update { color: #ffc844; }&#xA;        .log-entry.delete { color: #ff4444; }&#xA;        .log-entry.info { color: #888; }&#xA;&#xA;        .log-time {&#xA;            color: #666;&#xA;            margin-right: 10px;&#xA;        }&#xA;&#xA;        .instructions {&#xA;            grid-column: 1 / -1;&#xA;            background: #2d2d44;&#xA;            border-radius: 12px;&#xA;            padding: 20px;&#xA;            margin-top: 20px;&#xA;        }&#xA;&#xA;        .instructions h3 {&#xA;            color: #00d4ff;&#xA;            margin-bottom: 15px;&#xA;        }&#xA;&#xA;        .instructions code {&#xA;            background: #3d3d5c;&#xA;            padding: 2px 6px;&#xA;            border-radius: 4px;&#xA;            font-family: &#39;Monaco&#39;, &#39;Menlo&#39;, monospace;&#xA;        }&#xA;&#xA;        .instructions ul {&#xA;            margin-left: 20px;&#xA;            line-height: 1.8;&#xA;        }&#xA;    &lt;/style&gt;&#xA;&lt;/head&gt;&#xA;&lt;body&gt;&#xA;    &lt;div class=&#34;header&#34;&gt;&#xA;        &lt;h1&gt;Drasi Server - Getting Started&lt;/h1&gt;&#xA;        &lt;div class=&#34;status&#34;&gt;&#xA;            &lt;span class=&#34;status-dot&#34; id=&#34;statusDot&#34;&gt;&lt;/span&gt;&#xA;            &lt;span id=&#34;statusText&#34;&gt;Connecting...&lt;/span&gt;&#xA;        &lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;&#xA;    &lt;div class=&#34;container&#34;&gt;&#xA;        &lt;!-- Hello World From Query --&gt;&#xA;        &lt;div class=&#34;query-panel&#34;&gt;&#xA;            &lt;div class=&#34;query-header&#34;&gt;&#xA;                &lt;h2&gt;hello-world-from&lt;/h2&gt;&#xA;                &lt;p&gt;Filters messages containing &#34;Hello World&#34;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
