<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Alexandr Zahatski</title>
    <description>The latest articles on DEV Community by Alexandr Zahatski (@zag).</description>
    <link>https://dev.to/zag</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F278411%2Fca74b53c-e5da-4111-a96b-878fb352bff6.png</url>
      <title>DEV Community: Alexandr Zahatski</title>
      <link>https://dev.to/zag</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/zag"/>
    <language>en</language>
    <item>
      <title>Podlite Desktop 0.7.0 — smart lists, code folding</title>
      <dc:creator>Alexandr Zahatski</dc:creator>
      <pubDate>Mon, 30 Mar 2026 16:59:08 +0000</pubDate>
      <link>https://dev.to/zag/podlite-desktop-070-smart-lists-code-folding-am</link>
      <guid>https://dev.to/zag/podlite-desktop-070-smart-lists-code-folding-am</guid>
      <description>&lt;p&gt;Podlite Desktop 0.7.0 is out. A free, open source editor for Podlite markup — a block-based language that extends Markdown with diagrams, formulas, tables and task lists.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's new in 0.7.0
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;smart list continuation on Enter with checkbox/numbering inheritance&lt;/li&gt;
&lt;li&gt;Tab / Shift+Tab for nesting levels&lt;/li&gt;
&lt;li&gt;code folding for &lt;code&gt;=begin&lt;/code&gt;/&lt;code&gt;=end&lt;/code&gt; and &lt;code&gt;=head&lt;/code&gt; sections&lt;/li&gt;
&lt;li&gt;collapsible blocks via &lt;code&gt;:folded&lt;/code&gt; attribute&lt;/li&gt;
&lt;li&gt;input latency reduced from 860ms to near-zero&lt;/li&gt;
&lt;li&gt;session restore (cursor, scroll, folds, view mode)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjap62jpiimyfyeskbni4.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjap62jpiimyfyeskbni4.gif" alt="Smart Lists" width="900" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwivsg9vpnpwz2wgjzpcw.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwivsg9vpnpwz2wgjzpcw.gif" alt="Nesting Levels" width="720" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkm5fz5rpiee8uu979ha0.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkm5fz5rpiee8uu979ha0.gif" alt="Code Folding" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm7xe47wipea6w8jczt0y.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm7xe47wipea6w8jczt0y.gif" alt="Folded blocks" width="900" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Available on macOS, Windows, Linux.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/podlite/podlite-desktop/releases/tag/v0.7.0" rel="noopener noreferrer"&gt;Download from GitHub&lt;/a&gt; · &lt;a href="https://apps.apple.com/us/app/podlite/id1526511053" rel="noopener noreferrer"&gt;Mac App Store&lt;/a&gt; · &lt;a href="https://www.microsoft.com/store/apps/9NVNT9SNQJM8" rel="noopener noreferrer"&gt;Microsoft Store&lt;/a&gt; · &lt;a href="https://snapcraft.io/podlite" rel="noopener noreferrer"&gt;Snap Store&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Site: &lt;a href="https://podlite.org/2026/3/30/1/podlite-desktop-0-7-0-released" rel="noopener noreferrer"&gt;podlite.org&lt;/a&gt;&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>markdown</category>
      <category>productivity</category>
      <category>javascript</category>
    </item>
    <item>
      <title>One command to add structured markup to your AI agent</title>
      <dc:creator>Alexandr Zahatski</dc:creator>
      <pubDate>Wed, 11 Mar 2026 21:41:26 +0000</pubDate>
      <link>https://dev.to/zag/one-command-to-add-structured-markup-to-your-ai-agent-3pp9</link>
      <guid>https://dev.to/zag/one-command-to-add-structured-markup-to-your-ai-agent-3pp9</guid>
      <description>&lt;p&gt;I've been keeping a personal knowledge base for years. Notes, specs, decisions, journal entries — all in plain text files. When AI agents became part of my workflow, I started using them to write structured documents: RFC drafts, revision histories, typed notes with metadata. It worked well. Until I closed the session.&lt;/p&gt;

&lt;p&gt;The next agent would open the same file and start from scratch — not because it forgot, but because the file gave no structure to hold onto. That's when I started looking at the format, not the model.&lt;/p&gt;

&lt;h2&gt;
  
  
  The problem I kept running into
&lt;/h2&gt;

&lt;p&gt;My knowledge base has hundreds of files. An agent can read them, but reading isn't the same as understanding the shape of the file. Is this a journal entry or a spec? Is this draft published or scheduled? When was it written?&lt;/p&gt;

&lt;p&gt;Plain text doesn't answer those questions. Markdown frontmatter gets you partway — but it's a convention, not a contract. Tools may or may not parse it, and agents that haven't been told what to look for usually don't. When I asked an agent to "write a blog post and schedule it for next Thursday," it produced great prose and put a date somewhere in the text. My publishing pipeline saw nothing.&lt;/p&gt;

&lt;p&gt;The problem wasn't the agent's writing. The problem was that the file had no machine-readable structure. The agent had nowhere to put the metadata so that both humans and downstream tools could reliably find it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Podlite gives you
&lt;/h2&gt;

&lt;p&gt;Podlite is a markup language built around explicit, typed blocks. Every block has a declared type, and blocks can carry named attributes — structured metadata that travels with the content.&lt;/p&gt;

&lt;p&gt;Here's what a blog post looks like when an agent creates it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=begin pod :pubdate('2026-03-12 10:00:00') :type('page') :publishUrl('/blog/podlite-skills')

=TITLE One command to add structured markup to your AI agent

Content written by the agent...

=end pod
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;:pubdate&lt;/code&gt;, &lt;code&gt;:type&lt;/code&gt;, and &lt;code&gt;:publishUrl&lt;/code&gt; attributes aren't decorative. They're fields — any parser or tool that reads Podlite can access them directly, without guessing where in the prose to look.&lt;/p&gt;

&lt;p&gt;Podlite natively includes Markdown, so you don't throw away existing files or habits. You can use Markdown syntax inside Podlite blocks without any changes. The structure layer sits on top; the content layer stays familiar.&lt;/p&gt;

&lt;h2&gt;
  
  
  How this plays out in practice
&lt;/h2&gt;

&lt;p&gt;I ask Claude Code to draft a blog post about a recent technical decision. It creates a &lt;code&gt;.podlite&lt;/code&gt; file with &lt;code&gt;:pubdate&lt;/code&gt; set to next Wednesday and &lt;code&gt;:publishUrl&lt;/code&gt; matching the slug I described. The prose is good. The metadata is correct. I close the session.&lt;/p&gt;

&lt;p&gt;On Tuesday, I open a new session and ask a different agent to review the post and push the publish date back a week — I want more time to add a code example. The agent opens the file, reads the block header, finds &lt;code&gt;:pubdate&lt;/code&gt;, changes the timestamp. That's it.&lt;/p&gt;

&lt;p&gt;Worth slowing down on: the second agent didn't need context from the first session. The file itself carried the instructions. &lt;code&gt;:pubdate&lt;/code&gt; is not a comment or a prose sentence — it's a structured field that any agent, parser, or tool can read without guessing. What acts on it depends on your setup — in my case a publishing pipeline that scans the folder and schedules based on the attribute. But the attribute is readable by anything.&lt;/p&gt;

&lt;p&gt;This is the difference between "metadata mentioned in the file" and "metadata in the file."&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fst77qh7qx5xe9azy5w3h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fst77qh7qx5xe9azy5w3h.png" alt="podlite-skills" width="800" height="907"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Installing podlite-skills
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx skills add podlite/podlite-skills
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This adds Podlite support to your AI agent environment — Claude Code, GitHub Copilot, Cursor, Codex CLI. After installation, the agent understands Podlite block syntax, attribute conventions, and how to create well-formed structured documents.&lt;/p&gt;

&lt;p&gt;No configuration file to edit. No extension to install separately. The skill installs, and the agent knows the format. Even without a custom pipeline, you get files where an agent consistently puts type information and metadata in the same place — which means the next agent (or the next you, in six months) can read the file and know exactly what it is and what state it's in.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I actually use it for
&lt;/h2&gt;

&lt;p&gt;Three categories got noticeably better after switching:&lt;/p&gt;

&lt;p&gt;Blog posts and RFC drafts — &lt;code&gt;:pubdate&lt;/code&gt;, &lt;code&gt;:status&lt;/code&gt;, &lt;code&gt;:type&lt;/code&gt; mean any agent can pick up where another left off without me re-explaining the document's state.&lt;/p&gt;

&lt;p&gt;Decision logs — typed blocks mean I can query "all decisions made in Q1" without parsing prose.&lt;/p&gt;

&lt;p&gt;Specs with revision history — explicit block structure makes diff-reading much easier for agents doing review passes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fstpk8du9tpwzfr5tlrqr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fstpk8du9tpwzfr5tlrqr.png" alt="RFC drafts" width="792" height="727"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The files are still plain text. The agent still writes prose. The difference is that now the output holds its shape between sessions — metadata stays where it was put, structure stays parseable, and any tool or agent that opens the file later starts with something to work with rather than nothing.&lt;/p&gt;

&lt;p&gt;If you're already using an AI agent for writing or documentation, this is a one-minute install:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx skills add podlite/podlite-skills
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;a href="https://github.com/podlite/podlite-skills" rel="noopener noreferrer"&gt;podlite-skills repository&lt;/a&gt; has the full list of supported blocks and attributes.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>writing</category>
      <category>llm</category>
    </item>
    <item>
      <title>The Block Structure of Podlite</title>
      <dc:creator>Alexandr Zahatski</dc:creator>
      <pubDate>Fri, 05 Dec 2025 08:14:04 +0000</pubDate>
      <link>https://dev.to/zag/the-block-structure-of-podlite-513m</link>
      <guid>https://dev.to/zag/the-block-structure-of-podlite-513m</guid>
      <description>&lt;p&gt;&lt;a href="https://podlite.org" rel="noopener noreferrer"&gt;Podlite&lt;/a&gt; is a small block-based markup language that is easy to read as plain text, simple to parse, and flexible enough to be used everywhere — in code, notes, technical documents, long-form writing, and even full documentation systems.&lt;/p&gt;

&lt;p&gt;One of the core ideas behind Podlite is its consistent block-based structure.&lt;br&gt;
Every meaningful element of a document — a heading, a paragraph, a list item, a table, a code block, a callout — is represented as a block. This makes documents both readable for humans and predictable for tools.&lt;/p&gt;

&lt;p&gt;Podlite supports three interchangeable block styles: &lt;code&gt;delimited&lt;/code&gt;, &lt;code&gt;paragraph&lt;/code&gt;, and &lt;code&gt;abbreviated&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn6biozuatt1z0y2i6e8r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn6biozuatt1z0y2i6e8r.png" alt="diagram here showing the three block styles and how they map to the same internal structure" width="800" height="311"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Abbreviated blocks (&lt;code&gt;=BLOCK&lt;/code&gt;)
&lt;/h3&gt;

&lt;p&gt;This is the most compact form.&lt;br&gt;
A block starts with &lt;code&gt;=&lt;/code&gt; followed by the block name.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight perl"&gt;&lt;code&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;head1&lt;/span&gt; &lt;span class="nv"&gt;Getting&lt;/span&gt; &lt;span class="nv"&gt;Started&lt;/span&gt;
&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;item&lt;/span&gt; &lt;span class="nv"&gt;Install&lt;/span&gt; &lt;span class="nv"&gt;Node&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nv"&gt;js&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;
&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;para&lt;/span&gt; &lt;span class="nv"&gt;Podlite&lt;/span&gt; &lt;span class="nv"&gt;makes&lt;/span&gt; &lt;span class="nv"&gt;documentation&lt;/span&gt; &lt;span class="nv"&gt;predictable&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="nv"&gt;easy&lt;/span&gt; &lt;span class="nv"&gt;to&lt;/span&gt; &lt;span class="nv"&gt;automate&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;ends on the next directive or a blank line&lt;/li&gt;
&lt;li&gt;best used for simple one-line blocks&lt;/li&gt;
&lt;li&gt;cannot include configuration options (attributes)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Paragraph blocks (&lt;code&gt;=for BLOCK&lt;/code&gt;)
&lt;/h3&gt;

&lt;p&gt;Use this form when you want a multi-line block or need attributes.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight perl"&gt;&lt;code&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="nv"&gt;code&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nv"&gt;lang&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nv"&gt;ts&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nv"&gt;console&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;log&lt;/span&gt;&lt;span class="p"&gt;("&lt;/span&gt;&lt;span class="s2"&gt;Hello from Podlite!&lt;/span&gt;&lt;span class="p"&gt;");&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;ends when a blank line appears&lt;/li&gt;
&lt;li&gt;can include complex content&lt;/li&gt;
&lt;li&gt;allows attributes such as &lt;code&gt;:lang&lt;/code&gt;, &lt;code&gt;:id&lt;/code&gt;, &lt;code&gt;:caption&lt;/code&gt;, &lt;code&gt;:nested&lt;/code&gt;, …&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Delimited blocks (&lt;code&gt;=begin BLOCK&lt;/code&gt; … &lt;code&gt;=end BLOCK&lt;/code&gt;)
&lt;/h3&gt;

&lt;p&gt;The most expressive form. Useful for large sections, nested blocks, or structures that require clarity.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight perl"&gt;&lt;code&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;begin&lt;/span&gt; &lt;span class="nv"&gt;nested&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nv"&gt;notify&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nv"&gt;important&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nv"&gt;Make&lt;/span&gt; &lt;span class="nv"&gt;sure&lt;/span&gt; &lt;span class="nv"&gt;you&lt;/span&gt; &lt;span class="nv"&gt;have&lt;/span&gt; &lt;span class="nv"&gt;administrator&lt;/span&gt; &lt;span class="nv"&gt;privileges&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;
&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;end&lt;/span&gt; &lt;span class="nv"&gt;nested&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;explicit start and end markers&lt;/li&gt;
&lt;li&gt;perfect for code, lists, tables, notifications, markdown, formulas&lt;/li&gt;
&lt;li&gt;can contain other blocks, including nested ones&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These block styles differ in syntax convenience, but all produce the same internal structure.&lt;/p&gt;

&lt;p&gt;Regardless of which syntax you choose:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;all three forms represent the same &lt;strong&gt;block type&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;attributes apply the same way (&lt;code&gt;:lang&lt;/code&gt;, &lt;code&gt;:caption&lt;/code&gt;, &lt;code&gt;:id&lt;/code&gt;, …)&lt;/li&gt;
&lt;li&gt;tools and renderers treat them uniformly&lt;/li&gt;
&lt;li&gt;nested blocks work identically&lt;/li&gt;
&lt;li&gt;you can freely mix styles inside a document&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Project site: &lt;a href="https://podlite.org" rel="noopener noreferrer"&gt;https://podlite.org&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/podlite" rel="noopener noreferrer"&gt;https://github.com/podlite&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Specification

&lt;ul&gt;
&lt;li&gt;(HTML): &lt;a href="https://podlite.org/specification" rel="noopener noreferrer"&gt;https://podlite.org/specification&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;source: &lt;a href="https://github.com/podlite/podlite-specs" rel="noopener noreferrer"&gt;https://github.com/podlite/podlite-specs&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Roadmap: &lt;a href="https://podlite.org/#Roadmap" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;a href="https://podlite.org/#Roadmap" rel="noopener noreferrer"&gt;https://podlite.org/#Roadmap&lt;/a&gt;
&lt;/li&gt;

&lt;/ul&gt;

</description>
      <category>opensource</category>
      <category>documentation</category>
      <category>tutorial</category>
      <category>programming</category>
    </item>
    <item>
      <title>Podlite Desktop Editor 0.6.1 is out</title>
      <dc:creator>Alexandr Zahatski</dc:creator>
      <pubDate>Sat, 01 Nov 2025 10:51:12 +0000</pubDate>
      <link>https://dev.to/zag/podlite-desktop-editor-061-is-out-3e0i</link>
      <guid>https://dev.to/zag/podlite-desktop-editor-061-is-out-3e0i</guid>
      <description>&lt;p&gt;Just released a new version of Podlite Desktop Editor - a free markup editor that works with Markdown and extends it with some pretty useful features. &lt;/p&gt;

&lt;h2&gt;
  
  
  What's Podlite?
&lt;/h2&gt;

&lt;p&gt;Think of it as Markdown++. All your standard Markdown works via &lt;code&gt;=markdown&lt;/code&gt; blocks. It's block-oriented, so everything stays clean and readable.  Check out the Podlite Quick Tour: &lt;a href="https://podlite.org/quick-tour" rel="noopener noreferrer"&gt;https://podlite.org/quick-tour&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What's new in 0.6.1
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9x7pt0jdo3xccc5i19nt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9x7pt0jdo3xccc5i19nt.png" alt="Editor screenshot" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Rebuilt the editor from scratch with updated libraries. Here's what changed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Syntax highlighting that actually works well&lt;/li&gt;
&lt;li&gt;Inline formatting: &lt;code&gt;B&amp;lt;bold&amp;gt;&lt;/code&gt;, &lt;code&gt;I&amp;lt;italic&amp;gt;&lt;/code&gt;, &lt;code&gt;C&amp;lt;code&amp;gt;&lt;/code&gt;, &lt;code&gt;L&amp;lt;links&amp;gt;&lt;/code&gt;, &lt;code&gt;O&amp;lt;strikethrough&amp;gt;&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Click links with Cmd/Ctrl to open them&lt;/li&gt;
&lt;li&gt;Link to other files with &lt;code&gt;file:&lt;/code&gt; schema - they open in new windows&lt;/li&gt;
&lt;li&gt;Text search (finally!)&lt;/li&gt;
&lt;li&gt;Fixed a bunch of window resize bugs&lt;/li&gt;
&lt;li&gt;macOS Tahoe support&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can toggle between half-screen and full-screen preview with keyboard shortcuts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Download
&lt;/h2&gt;

&lt;p&gt;Available free on all platforms:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Github releases: &lt;a href="https://github.com/podlite/podlite-desktop/releases" rel="noopener noreferrer"&gt;https://github.com/podlite/podlite-desktop/releases&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Microsoft Store, Snap Store, Mac App Store&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Try the web version first if you want: &lt;a href="https://pod6.in" rel="noopener noreferrer"&gt;https://pod6.in&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Full details: &lt;a href="https://podlite.org/2025/11/1/1/podlite-desktop-editor-0-6-1-released" rel="noopener noreferrer"&gt;https://podlite.org/2025/11/1/1/podlite-desktop-editor-0-6-1-released&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Source code: &lt;a href="https://github.com/podlite/podlite-desktop" rel="noopener noreferrer"&gt;https://github.com/podlite/podlite-desktop&lt;/a&gt;&lt;/p&gt;

</description>
      <category>writing</category>
      <category>programming</category>
      <category>markdown</category>
      <category>webdev</category>
    </item>
    <item>
      <title>📝 Inline text formatting in Podlite editor</title>
      <dc:creator>Alexandr Zahatski</dc:creator>
      <pubDate>Sun, 26 Oct 2025 15:30:09 +0000</pubDate>
      <link>https://dev.to/zag/inline-text-formatting-in-podlite-editor-4gnm</link>
      <guid>https://dev.to/zag/inline-text-formatting-in-podlite-editor-4gnm</guid>
      <description>&lt;p&gt;Podlite supports rich inline text formatting within paragraphs and table cells:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2dcfdtp257mx3u493f0x.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2dcfdtp257mx3u493f0x.gif" alt=" " width="760" height="570"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  ✨ Supported Formatting Codes
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Code&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Example&lt;/th&gt;
&lt;th&gt;Result&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;B&amp;lt;&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Bold text&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;B&amp;lt;important&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;important&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;I&amp;lt;&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;Italic text&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;I&amp;lt;emphasis&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;emphasis&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;C&amp;lt;&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Code/monospace&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;C&amp;lt;function()&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;function()&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;L&amp;lt;&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;🔗 Links&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;L&amp;lt;https://example.com&lt;/code&gt;|&lt;code&gt;click here&amp;gt;&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;&lt;a href="https://example.com" rel="noopener noreferrer"&gt;click here&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;O&amp;lt;&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;del&gt;Strikethrough&lt;/del&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;O&amp;lt;deleted text&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;del&gt;deleted text&lt;/del&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;These formatting codes can be combined within any paragraph or table cell to create rich, formatted content.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://podlite.org" rel="noopener noreferrer"&gt;Podlite&lt;/a&gt; is a lightweight block-based markup language designed for flexibility and ease of use.&lt;/p&gt;

</description>
      <category>tooling</category>
      <category>tutorial</category>
      <category>writing</category>
    </item>
    <item>
      <title>Web editor with Podlite markup language syntax highlighting is here!</title>
      <dc:creator>Alexandr Zahatski</dc:creator>
      <pubDate>Mon, 13 Jan 2025 17:39:25 +0000</pubDate>
      <link>https://dev.to/zag/web-editor-with-podlite-markup-language-syntax-highlighting-is-here-2la</link>
      <guid>https://dev.to/zag/web-editor-with-podlite-markup-language-syntax-highlighting-is-here-2la</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fieth624nmdaq9bzw1h58.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fieth624nmdaq9bzw1h58.gif" alt="Web Editor with Podlite markup language syntax highlighting" width="720" height="684"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can check it out at &lt;a href="https://pod6.in/" rel="noopener noreferrer"&gt;pod6.in&lt;/a&gt;!  &lt;/p&gt;

&lt;p&gt;It was included as part of &lt;a href="https://github.com/podlite/podlite/releases/tag/v0.0.45" rel="noopener noreferrer"&gt;Podlite v0.0.45&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>javascript</category>
      <category>podlite</category>
    </item>
    <item>
      <title>Podlite: Powering Up Knowledge Management</title>
      <dc:creator>Alexandr Zahatski</dc:creator>
      <pubDate>Fri, 04 Oct 2024 06:00:00 +0000</pubDate>
      <link>https://dev.to/zag/podlite-powering-up-knowledge-management-1knn</link>
      <guid>https://dev.to/zag/podlite-powering-up-knowledge-management-1knn</guid>
      <description>&lt;p&gt;Hey  👋 Exciting news from the &lt;a href="https://podlite.org" rel="noopener noreferrer"&gt;Podlite&lt;/a&gt; project!  Podlite keeps evolving, opening up new possibilities for knowledge management. &lt;/p&gt;

&lt;p&gt;Check out this list of recent achievements in the &lt;a href="https://github.com/podlite/podlite-web/" rel="noopener noreferrer"&gt;Podlite-web&lt;/a&gt; package for creating web projects:&lt;/p&gt;

&lt;h2&gt;
  
  
  What's New? 🚀
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Plugin Support&lt;/strong&gt;: Extend functionality easily&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Global Term Index &amp;amp; Full-Text Search&lt;/strong&gt;: Find info fast&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;React Integration&lt;/strong&gt;: Build dynamic, interactive pages&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automatic ToC &amp;amp; Breadcrumbs&lt;/strong&gt;: Improve navigation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Code Syntax Highlighting&lt;/strong&gt;: Make your docs shine&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  See It in Action 👀
&lt;/h2&gt;

&lt;h3&gt;
  
  
  The Raku Knowledge Base v1.0 (Artistic 2.0 License)
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcvtg3bop0oq4cnh5h046.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcvtg3bop0oq4cnh5h046.jpg" alt="The Raku Knowledge Base" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Check out &lt;a href="https://raku-knowledge-base.podlite.org/" rel="noopener noreferrer"&gt;The Raku Knowledge Base&lt;/a&gt; - a comprehensive, open-source knowledge base for the Raku programming language built with Podlite-web.&lt;/p&gt;

&lt;p&gt;Raku (formerly Perl 6) is a powerful, multi-paradigm language. This knowledge base aims to make it more accessible and easier to learn.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Features:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;📚 Official Raku documentation&lt;/li&gt;
&lt;li&gt;📦 User module docs&lt;/li&gt;
&lt;li&gt;💻 Code example collections&lt;/li&gt;
&lt;li&gt;🔍 Full-text search&lt;/li&gt;
&lt;li&gt;🧭 Easy navigation with breadcrumbs&lt;/li&gt;
&lt;li&gt;🔗 Auto-generated term index&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can read more about the &lt;a href="https://raku-knowledge-base.podlite.org/" rel="noopener noreferrer"&gt;The Raku Knowledge Base&lt;/a&gt; in detail in the official announcement on the Podlite website &lt;a href="https://podlite.org/a5ZK1" rel="noopener noreferrer"&gt;podlite.org/a5ZK1&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Get Involved 🤝
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;🌟 Star the repo: &lt;a href="https://github.com/zag/raku-knowledge-base" rel="noopener noreferrer"&gt;https://github.com/zag/raku-knowledge-base&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🐛 Report issues: &lt;a href="https://github.com/zag/raku-knowledge-base/issues" rel="noopener noreferrer"&gt;https://github.com/zag/raku-knowledge-base/issues&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🛠️ Contribute: PRs welcome!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Use Podlite for your next documentation project!&lt;br&gt;
Let me know what you think or if you have any questions!&lt;/p&gt;

&lt;p&gt;Happy coding! 💻✨&lt;br&gt;
thank you!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>documentation</category>
      <category>podlite</category>
      <category>rakulang</category>
    </item>
    <item>
      <title>Excited to announce that Podlite's TypeScript implementation now supports formulas! 🧮✨</title>
      <dc:creator>Alexandr Zahatski</dc:creator>
      <pubDate>Mon, 27 May 2024 08:12:11 +0000</pubDate>
      <link>https://dev.to/zag/excited-to-announce-that-podlites-typescript-implementation-now-supports-formulas-55g4</link>
      <guid>https://dev.to/zag/excited-to-announce-that-podlites-typescript-implementation-now-supports-formulas-55g4</guid>
      <description>&lt;p&gt;I'm excited to announce that &lt;a href="https://github.com/podlite/podlite" rel="noopener noreferrer"&gt;podlite&lt;/a&gt; now supports formulas!&lt;/p&gt;

&lt;p&gt;You can enter formulas using the code &lt;code&gt;F&amp;lt;&amp;gt;&lt;/code&gt; and the block &lt;code&gt;=formula&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwhernpyc8qigh2yqv3rw.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwhernpyc8qigh2yqv3rw.gif" alt="podlite fomulas" width="720" height="405"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Within the &lt;code&gt;=markdown&lt;/code&gt; block, use &lt;code&gt;$...$&lt;/code&gt; for inline formulas and &lt;code&gt;$$...$$&lt;/code&gt; for display formulas.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://pod6.in/#p=%3Dfor+formula+%3Acaption%28%27The+Cauchy-Schwarz+Inequality%27%29%0A+++%5Cleft%28+%5Csum_%7Bk%3D1%7D%5En+a_k+b_k+%5Cright%29%5E2+%5Cleq+%5Cleft%28+%5Csum_%7Bk%3D1%7D%5En+a_k%5E2+%5Cright%29+%5Cleft%28+%5Csum_%7Bk%3D1%7D%5En+b_k%5E2+%5Cright%29%0A%0A%0A%0AThis+is+an+inline++example%3A+F%3C+y+%3D+%5Csqrt%7B3x-1%7D%2B%281%2Bx%29%5E2+%3E%0A%0A%3Dbegin+markdown%0A%0A++*+this+is+a+example+of+%60formula%60+inside+markdown%3A+%24y+%3D+%5Csqrt%7B3x-1%7D%2B%281%2Bx%29%5E2%24%0A++%0A++and+block%3A+%0A++%0A++%24%24%0A++%5Cleft%28+%5Csum_%7Bk%3D1%7D%5En+a_k+b_k+%5Cright%29%5E2+%5Cleq+%5Cleft%28+%5Csum_%7Bk%3D1%7D%5En+a_k%5E2+%5Cright%29+%5Cleft%28+%5Csum_%7Bk%3D1%7D%5En+b_k%5E2+%5Cright%29%0A++%24%24%0A++%0A++%0A%0A%3Dend+markdown%0A%0A" rel="noopener noreferrer"&gt;Example on pod6.in&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For more information, see &lt;a href="https://en.wikibooks.org/wiki/LaTeX/Mathematics" rel="noopener noreferrer"&gt;LaTeX/Mathematics&lt;/a&gt; in Wikibooks.&lt;/p&gt;

&lt;p&gt;thank you!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>podlite</category>
      <category>documentation</category>
    </item>
    <item>
      <title>Podlite v1.0 released: A lightweight block-oriented markup language for organizing knowledge</title>
      <dc:creator>Alexandr Zahatski</dc:creator>
      <pubDate>Tue, 23 Apr 2024 20:03:08 +0000</pubDate>
      <link>https://dev.to/zag/podlite-v10-released-a-lightweight-block-oriented-markup-language-for-organizing-knowledge-313l</link>
      <guid>https://dev.to/zag/podlite-v10-released-a-lightweight-block-oriented-markup-language-for-organizing-knowledge-313l</guid>
      <description>&lt;h2&gt;
  
  
  What is Podlite?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://podlite.org" rel="noopener noreferrer"&gt;Podlite&lt;/a&gt;, a lightweight block-oriented markup language that's all about flexibility and ease of use. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Unbound by any specific domain, programming language, or concept, Podlite stands out as a universal markup language&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In addition, the support for Markdown markup as a standard block adds convenience and allows for the use of familiar syntax for text formatting&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It's perfect for documentation, educational materials, blogging, and much more for organizing knowledge.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;One of the key features of Podlite is its extensibility. This allows for defining unique and domain-specific blocks and expanding the language's functionality according to the requirements of your project.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/podlite/podlite-specs" rel="noopener noreferrer"&gt;The Podlite specification&lt;/a&gt; is published under the Artistic license 2.0.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Key Features of Podlite
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Block-based structure:&lt;/strong&gt; At the core of Podlite is the concept of "blocks," which are the fundamental units of any document. These blocks can have defined attributes and support the inclusion of rich content.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Rich linking capabilities:&lt;/strong&gt; Podlite allows blocks, terms, definitions to be linked with various types of relationships, enhancing the interconnectivity and navigability of your documents.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Support for formulas and Markdown:&lt;/strong&gt; Whether you need to insert complex mathematical formulas or prefer the simplicity of Markdown, Podlite has you covered. It seamlessly integrates both, giving you the flexibility to choose how you want to write.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Extensible and customizable:&lt;/strong&gt; Extend Podlite with custom blocks and inline codes, tailoring the language to meet your specific needs.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Podlite v1.0 Release Notes
&lt;/h2&gt;

&lt;p&gt;Podlite has introduced a range of new features designed to enhance the flexibility and usability of the markup language:&lt;/p&gt;

&lt;h3&gt;
  
  
  Customization and Extensibility
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Refactoring of Custom blocks:&lt;/strong&gt; Enhanced customization through refactored named custom blocks.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Inline Markup extension:&lt;/strong&gt; &lt;code&gt;M&amp;lt;&amp;gt;&lt;/code&gt; now extends inline markup features, allowing for more expressive text formatting.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Processing and data handling
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Markdown support:&lt;/strong&gt; The `&lt;code&gt;=markdown&lt;/code&gt; block is now a standard block. Integration of a new markdown mode for the parser.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;MIME type specification:&lt;/strong&gt; Added &lt;code&gt;:mime-type&lt;/code&gt; attribute for &lt;code&gt;=include&lt;/code&gt; and &lt;code&gt;=data&lt;/code&gt; blocks, facilitating better handling of diverse data types.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Data schema introduction:&lt;/strong&gt; Implemented &lt;code&gt;data:&lt;/code&gt; schema for use in &lt;code&gt;=picture&lt;/code&gt; and &lt;code&gt;=table&lt;/code&gt; blocks, simplifying data embedding.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Embedding binary data:&lt;/strong&gt; Support for embedding binary data directly into documents with &lt;code&gt;:filename&lt;/code&gt; and &lt;code&gt;:encoding&lt;/code&gt; attributes in &lt;code&gt;=data&lt;/code&gt; blocks.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;CSV tables:&lt;/strong&gt; Capability to render tables directly from CSV files with the enhanced &lt;code&gt;=table&lt;/code&gt; block.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Content Structuring and Navigation
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Selectors:&lt;/strong&gt; Introduced selectors for dynamic content interaction and manipulation.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Comprehensive TOC:&lt;/strong&gt; Enhanced &lt;code&gt;=toc&lt;/code&gt; block for generating detailed tables of contents.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Including external content:&lt;/strong&gt; New &lt;code&gt;=include&lt;/code&gt; block for incorporating external files and documents seamlessly.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Advanced table formatting:&lt;/strong&gt; New &lt;code&gt;=row&lt;/code&gt; and &lt;code&gt;=cell&lt;/code&gt; blocks with &lt;code&gt;:header&lt;/code&gt;, &lt;code&gt;:rowspan&lt;/code&gt;, and &lt;code&gt;:colspan&lt;/code&gt; attributes for intricate table designs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Additional attributes for linking:&lt;/strong&gt; Addition of &lt;code&gt;:id&lt;/code&gt;, &lt;code&gt;:caption&lt;/code&gt;, and &lt;code&gt;:lang&lt;/code&gt; attributes to enrich document metadata and accessibility.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Contextual backlinks:&lt;/strong&gt; &lt;code&gt;W&amp;lt;&amp;gt;&lt;/code&gt; for creating contextual backlinks, enhancing document navigation and reference capabilities.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Foldable content:&lt;/strong&gt; New &lt;code&gt;:folded&lt;/code&gt; attribute to toggle visibility of content, and &lt;code&gt;:folded-levels&lt;/code&gt; for nested visibility control in table of contents (TOC) blocks.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Document Presentation Enhancements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Notification blocks:&lt;/strong&gt; Introduced notification blocks with a &lt;code&gt;:notify&lt;/code&gt; attribute, improving interactivity within documents.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Task lists:&lt;/strong&gt; Introduction of task lists with the &lt;code&gt;=item&lt;/code&gt; block and a &lt;code&gt;:checked&lt;/code&gt; attribute to manage to-do items effectively.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Mistake marking:&lt;/strong&gt; Introduced &lt;code&gt;O&amp;lt;&amp;gt;&lt;/code&gt; for highlighting and marking mistakes, useful in educational and review settings.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Text positioning:&lt;/strong&gt; New attributes &lt;code&gt;J&amp;lt;&amp;gt;&lt;/code&gt; for justifying and &lt;code&gt;H&amp;lt;&amp;gt;&lt;/code&gt; for horizontal positioning of text.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Emojis:&lt;/strong&gt; Added support for emojis with &lt;code&gt;E&amp;lt;&amp;gt;&lt;/code&gt;, enriching the expressiveness of documents.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Picture insertions:&lt;/strong&gt; New features in the &lt;code&gt;=picture&lt;/code&gt; block and &lt;code&gt;P&amp;lt;&amp;gt;&lt;/code&gt; for improved image handling.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Mathematical formulas:&lt;/strong&gt; Enhanced support for complex mathematical formulas with &lt;code&gt;=formula&lt;/code&gt; and &lt;code&gt;F&amp;lt;&amp;gt;&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Deprecated/removed
&lt;/h3&gt;

&lt;p&gt;With the introduction of new functionalities, certain features have been deprecated or removed to streamline Podlite:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;P&amp;lt;toc:&amp;gt;&lt;/code&gt; due to &lt;code&gt;=toc&lt;/code&gt; block,&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;P&amp;lt;man:&amp;gt;&lt;/code&gt;, &lt;code&gt;P&amp;lt;doc:&amp;gt;&lt;/code&gt; due to &lt;code&gt;=include&lt;/code&gt; block,&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;:margin&lt;/code&gt; attribute, &lt;code&gt;=encoding&lt;/code&gt; directive, Declarator block been removed due to redundancy.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Contextual aliases, the &lt;code&gt;=finish&lt;/code&gt; directive, and markers in comments, &lt;code&gt;P&amp;lt;&amp;gt;&lt;/code&gt; - placement links, &lt;code&gt;:formatted&lt;/code&gt; attribute, &lt;code&gt;:like&lt;/code&gt; attribute have been removed due to redundancy and enhancements in other areas.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Summary of Release
&lt;/h2&gt;

&lt;p&gt;This release of Podlite introduces significant enhancements aimed at improving the flexibility, customization, and user interaction of the markup language. With the addition of new blocks, attributes, and support for rich media, Podlite is better equipped to handle a variety of documentation needs.&lt;/p&gt;

&lt;p&gt;Concurrently, the deprecation and removal of certain features have simplified the toolset, reducing overlap and enhancing user experience. These changes reflect a commitment to the continuous improvement of Podlite, ensuring it remains a versatile and powerful tool for content creators.&lt;/p&gt;

&lt;h2&gt;
  
  
  Feedback and Contributions
&lt;/h2&gt;

&lt;p&gt;Feedback is encouraged and can be provided through &lt;a href="https://github.com/podlite/podlite-specs/discussions" rel="noopener noreferrer"&gt;Github Discussions&lt;/a&gt;. This input is crucial for the ongoing development and enhancement of Podlite.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Thank You!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Find out more:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Specification : &lt;a href="https://github.com/podlite/podlite-specs" rel="noopener noreferrer"&gt;https://github.com/podlite/podlite-specs&lt;/a&gt;, &lt;a href="https://podlite.org/specification" rel="noopener noreferrer"&gt;[in html format]&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Website: &lt;a href="https://podlite.org" rel="noopener noreferrer"&gt;https://podlite.org&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Web playground: &lt;a href="https://pod6.in" rel="noopener noreferrer"&gt;https://pod6.in&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Github:  &lt;a href="https://github.com/podlite" rel="noopener noreferrer"&gt;https://github.com/podlite&lt;/a&gt; ⭐️&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Stay tuned for more updates and happy documenting!&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>podlite</category>
      <category>webdev</category>
      <category>opensource</category>
      <category>architecture</category>
    </item>
    <item>
      <title>Introducing Podlite, a lightweight block-based markup language</title>
      <dc:creator>Alexandr Zahatski</dc:creator>
      <pubDate>Wed, 21 Feb 2024 08:20:54 +0000</pubDate>
      <link>https://dev.to/zag/introducing-podlite-a-lightweight-block-based-markup-language-48n8</link>
      <guid>https://dev.to/zag/introducing-podlite-a-lightweight-block-based-markup-language-48n8</guid>
      <description>&lt;p&gt;Hey everyone! 🚀&lt;/p&gt;

&lt;p&gt;I'm excited to introduce a new markup language called &lt;a href="https://podlite.org/specification" rel="noopener noreferrer"&gt;Podlite&lt;/a&gt;. It's designed to make  documentation, blogging, educational materials, and much more, a breeze to create and manage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key features of Podlite include:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Blocks as the basic unit:&lt;/strong&gt; Each document is built from blocks, which are the basic units that can have their own defined attributes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Flexible linking:&lt;/strong&gt; Link blocks together in various relationships.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Formula support:&lt;/strong&gt; Perfect for academic and scientific documentation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Markdown support:&lt;/strong&gt; Love Markdown? Podlite does too. It includes a standard block for Markdown, so you can switch modes seamlessly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rich content support:&lt;/strong&gt; Tables, images, table of contents, and all sorts of lists are all supported.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Extensibility:&lt;/strong&gt; Extend Podlite with your own custom blocks and inline codes to fit your needs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Podlite doesn't adhere to any specific programming language. This allows it &lt;strong&gt;to be embedded&lt;/strong&gt; in any programming language that supports block-level comments, or multi-line comments.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For example, in JavaScript:&lt;/strong&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/*
=head1 Documentation

=begin Mermaid
graph LR
        A--&amp;gt;B
        B--&amp;gt;C
        C--&amp;gt;A
        D--&amp;gt;C
=end Mermaid
=begin markdown

# header

 * text
 * text

=end markdown
*/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://pod6.in/#p=%3Dhead1+Documentation%0A%0AThis+is+a+general+overview%3A%0A%0A%3Dbegin+Mermaid%0Agraph+LR%0A++++++++A--%3EB%0A++++++++B--%3EC%0A++++++++C--%3EA%0A++++++++D--%3EC%0A%3Dend+Mermaid%0A%3Dbegin+markdown%0A%0A%23+header%0A%0A+*+text%0A+*+text%0A%0A%3Dend+markdown" rel="noopener noreferrer"&gt;open this sample at pod6.in &lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Blocks can be represented in three equivalent forms: delimited style, paragraph style, and abbreviated style.&lt;/strong&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=begin table :caption&amp;lt;Summary&amp;gt;
  Constants           1
  Variables           10
=end table

=for table :caption&amp;lt;Summary&amp;gt;
  Constants           1
  Variables           10

=table
  Constants           1
  Variables           10
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://pod6.in/#p=%0A%3Dbegin+table++%3Acaption%3CSummary%3E%0A++Constants+++++++++++1%0A++Variables+++++++++++10%0A%3Dend+table%0A%0A%3Dfor+table+%3Acaption%3CSummary%3E%0A++Constants+++++++++++1%0A++Variables+++++++++++10%0A%0A%3Dtable%0A++Constants+++++++++++1%0A++Variables+++++++++++10%0A" rel="noopener noreferrer"&gt;open this sample at pod6.in&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Podlite is perfect for creating documentation, blogs, educational materials, and much more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Current status of Podlite:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;currently in &lt;strong&gt;beta&lt;/strong&gt;, with ongoing work for the next version.&lt;/li&gt;
&lt;li&gt;there's a &lt;a href="https://github.com/podlite/podlite" rel="noopener noreferrer"&gt;reference implementation&lt;/a&gt; driving &lt;a href="https://github.com/podlite/podlite-web" rel="noopener noreferrer"&gt;web publishing package&lt;/a&gt;  and &lt;a href="https://pod6.in" rel="noopener noreferrer"&gt;a web editor&lt;/a&gt; .&lt;/li&gt;
&lt;li&gt;and yes, there's an editor/viewer for desktop too: &lt;a href="https://github.com/podlite/podlite-desktop" rel="noopener noreferrer"&gt;https://github.com/podlite/podlite-desktop&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is an early announcement to gauge interest in this markup language.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Find out more:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Specification : &lt;a href="https://github.com/podlite/podlite-specs" rel="noopener noreferrer"&gt;https://github.com/podlite/podlite-specs&lt;/a&gt;, &lt;a href="https://podlite.org/specification" rel="noopener noreferrer"&gt;[in html format]&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;github:  &lt;a href="https://github.com/podlite" rel="noopener noreferrer"&gt;https://github.com/podlite&lt;/a&gt; ⭐️&lt;/li&gt;
&lt;li&gt;website: &lt;a href="https://podlite.org" rel="noopener noreferrer"&gt;https://podlite.org&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;web playground: &lt;a href="https://pod6.in" rel="noopener noreferrer"&gt;https://pod6.in&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://github.com/podlite/podlite-specs/blob/main/S26-documentation.pod6" rel="noopener noreferrer"&gt;The Podlite specification&lt;/a&gt; is published under the Artistic license 2.0.&lt;/p&gt;

&lt;p&gt;I'd be incredibly grateful for any feedback and ideas.&lt;/p&gt;

&lt;p&gt;Thank you so much for your time!&lt;/p&gt;

&lt;p&gt;Best regards, Alex&lt;/p&gt;

</description>
      <category>podlite</category>
      <category>documentation</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>Podlite: Modernizing and Extending abandoned Raku Pod (ака pod6)</title>
      <dc:creator>Alexandr Zahatski</dc:creator>
      <pubDate>Wed, 18 Oct 2023 13:16:49 +0000</pubDate>
      <link>https://dev.to/zag/podlite-modernizing-and-extending-abandoned-raku-pod-aka-pod6-1bo5</link>
      <guid>https://dev.to/zag/podlite-modernizing-and-extending-abandoned-raku-pod-aka-pod6-1bo5</guid>
      <description>&lt;p&gt;Podlite was born as a lightweight implementation of Raku Pod (also known as pod6), and over time, it has evolved into one of the most comprehensive implementations. It encompasses:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Libraries for TypeScript&lt;/li&gt;
&lt;li&gt;A web editor - &lt;a href="//pod6.in"&gt;pod6.in&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;A free desktop editor - &lt;a href="https://github.com/podlite/podlite-desktop" rel="noopener noreferrer"&gt;Podlite-desktop&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;A package for creating modern web applications: &lt;a href="https://github.com/podlite/podlite-web" rel="noopener noreferrer"&gt;Podlite for Web&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What's more, Podlite also supports Diagrams, auto-generated Table of Contents, and has built-in Markdown support.&lt;/p&gt;

&lt;p&gt;I've been keeping daily journals in Raku Pod format for years and using &lt;a href="https://podlite.org/" rel="noopener noreferrer"&gt;Podlite Desktop&lt;/a&gt; to write blog articles.&lt;/p&gt;

&lt;p&gt;At this point, I've accumulated a bunch of ideas that go beyond the standard Raku Pod (aka pod6) &lt;a href="https://github.com/perl6/specs/blob/master/S26-documentation.pod" rel="noopener noreferrer"&gt;specification&lt;/a&gt;, along with some ideas I've been wanting to implement for a while. I've brought them all together, and I'd like to share the key ones in detail.&lt;/p&gt;

&lt;h2&gt;
  
  
  Selectors
&lt;/h2&gt;

&lt;p&gt;Podlite selectors are, in essence, quite similar to CSS selectors. They help identify and filter specific blocks within documents. Each selector pattern can contain optional block sources and block names.&lt;/p&gt;

&lt;p&gt;The general syntax is as follows:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;EXTERNAL_SOURCE&amp;gt;
or
[ EXTERNAL_SOURCE | ] &amp;lt;BLOCKS_SELECTOR&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;head1, head2

This selector defines all level 1 and level 2 header blocks.

para,code

This selector defines all paragraph and code example blocks.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Selectors can be used not only to describe blocks within the current document but also in external documents:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;file:article.rakudoc

This selector points to all blocks in the article.rakudoc file.

file:article.rdoc | head1, head2

All head1 and head2 blocks from the article.rdoc file.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here are a few more examples:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Selector&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;head1, head2, item1&lt;/td&gt;
&lt;td&gt;All head1, head2 and item1 blocks from document&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;file:article.rakudoc | head1, head2&lt;/td&gt;
&lt;td&gt;All head1 and head2 blocks from arricle.rakudoc file&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;file:./includes/*.pod6 | head1, head2&lt;/td&gt;
&lt;td&gt;All head1 and head2 blocks from pod6 files placed in includes directory&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;doc:Data::Dumper | code&lt;/td&gt;
&lt;td&gt;All code blocks from a module documentation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;file:/docs/*&lt;em&gt;/&lt;/em&gt;.md | head1&lt;/td&gt;
&lt;td&gt;Search for first-level headers in all ".md" files within the "docs" directory and its subdirectories.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Selectors are an essential part that will be used in other sections.&lt;/p&gt;

&lt;h2&gt;
  
  
  =toc - Automatic table of contents
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; =toc &amp;lt;SELECTOR&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The =toc block is used to create an autogenerated table of contents (TOC) in a document. The TOC serves as an index of section titles within the document, and its structure is determined by the organization of the document.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; =toc head1, head2, head3, item1, item2, table
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In this block, a selector is used to describe the blocks used to build the TOC.&lt;/p&gt;

&lt;p&gt;You can create lists of tables or even images:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=for toc :title('List of tables')
table

=for toc :title('List of media')
Image, Diagram
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  =include - Include block
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    =include &amp;lt;SELECTOR&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The =include block is a powerful tool for reusing specific parts of documents within project sources. This is particularly handy when dealing with complex documents that require to include certain sections from different files while keeping the overall context and structure intact.&lt;/p&gt;

&lt;p&gt;This block is perfect for creating books. Combined with Selectors, it allows you to include arbitrary blocks from other documents and files.&lt;/p&gt;

&lt;h2&gt;
  
  
  =picture,  P&amp;lt; &amp;gt; - Inserting pictures
&lt;/h2&gt;

&lt;p&gt;To insert pictures, you can use the =picture block:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=picture site-menu.png
This is the menu rendered by the React component
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It may be rendered as follows:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fve4e3ysmrtwy3wd997cr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fve4e3ysmrtwy3wd997cr.png" alt="This is the menu rendered by the React component" width="800" height="431"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;and inline usage:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; =para In the vast expanse of the cosmos, an intrepid P&amp;lt;astronaut|astronaut.png&amp;gt;
 floats weightlessly above the Earth.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  E&amp;lt;:hugging face:&amp;gt; - emoji 🤗
&lt;/h2&gt;

&lt;p&gt;To include emoji codes, you can use the E&amp;lt;&amp;gt; code along with the colon-prefixed and postfix emoji shortname:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    Podlite uses emoji codes to express emotions and actions,
    such as E&amp;lt;:thumbsup:&amp;gt; for approval and E&amp;lt;:smile:&amp;gt; for happiness.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;it renders as:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgtj3cn0ardpemx9sgyvr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgtj3cn0ardpemx9sgyvr.png" alt="Prototype of E&amp;lt;&amp;gt; inline code rendering" width="800" height="223"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  =formula,  F&amp;lt; &amp;gt; - mathematical formulas
&lt;/h2&gt;

&lt;p&gt;To include mathematical formulas, use a =formula block with an inline version represented as F&amp;lt;&amp;gt;.&lt;/p&gt;

&lt;p&gt;To insert mathematical expressions, use LaTeX-style syntax, which is a commonly used format for writing mathematical equations.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  =formula
  x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}

  In a right triangle, the length of the hypotenuse can be calculated 
  using the Pythagorean theorem: F&amp;lt;a^2 + b^2 = c^2&amp;gt;.

  Euler's identity, F&amp;lt;e^{i\pi} + 1 = 0&amp;gt;, is a fundamental equation in
  complex analysis.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;may render as:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0o2nwekq53rkxvhhr4qy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0o2nwekq53rkxvhhr4qy.png" alt="Prototype of formulas rendering" width="800" height="423"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  =formula  :caption&amp;lt;Quadratic Formula&amp;gt; 
  x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It may be rendered as:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd65rnc37ypqhu9z4du44.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd65rnc37ypqhu9z4du44.png" alt="Prototype of formulas with the caption" width="626" height="284"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  =item, :checked - Task lists
&lt;/h2&gt;

&lt;p&gt;In addition to the ordered list would be nice to support task lists, which are commonly known as checklists or to-do lists.&lt;/p&gt;

&lt;p&gt;To create a task list item just apply a &lt;code&gt;:checked&lt;/code&gt; attribute to =item block.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; =for item :checked
 Buy groceries
 =for item :!checked
 Clean the garage
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;or&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; =item1 [ ] Work
   =item2 [ ] Prepare the presentation
   =item2 [x] Send emails
 =item1 [ ] Home
   =item2 [ ] Vacuum the living room
   =item2 [ ] Water the plants
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Which might look something like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyl5giclp7or7lwablaji.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyl5giclp7or7lwablaji.png" alt="Task lists" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Contextual backlinks
&lt;/h2&gt;

&lt;p&gt;Yeah, that's one of the ideas I've been thinking about lately.&lt;/p&gt;

&lt;p&gt;Contextual backward links W&amp;lt;&amp;gt; (or contextual backlinks), enhance the traditional linking mechanism by allowing to not only reference another location but also provide specific context around that reference. This context can take the form of opinions, additional information, or any relevant commentary that enhances the understanding of the referenced material.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; This text can reveal the meaning of W&amp;lt;glossoligation|defn:glossoligation&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;or:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; We discuss here about W&amp;lt;doc:perldata&amp;gt;.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Contextual backlinks on the destination page can be displayed in various ways. They may appear with surrounding text chunks, providing context within the flow of the content. Alternatively, they can be placed at the end of the text, in the margin of the page, or highlighted in other visually distinctive ways.&lt;/p&gt;

&lt;h2&gt;
  
  
  =markdown - Integration with Markdown
&lt;/h2&gt;

&lt;p&gt;Since last year, Podlite natively supports Markdown using the =Markdown block. This means that Markdown elements are translated into the Podlite AST, allowing features not available in Markdown, such as auto-generated TOCs.&lt;/p&gt;

&lt;p&gt;For instance:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=Toc head1, head2, head3

=head1 This is header1
=head2 Another header

=begin Markdown

# this is markdown header
## and this!

=end Markdown
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This document would look like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F52f9jkh0p9hy7u4s4ps2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F52f9jkh0p9hy7u4s4ps2.png" alt="Autogenerated TOC for Markdown" width="800" height="614"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can play around with an example &lt;a href="https://pod6.in/#p=%3DToc+head1%2C+head2%2C+head3%0A%0A%3Dhead1+This+is+header1%0A%3Dhead2+Another+header%0A%0A%3Dbegin+Markdown%0A%0A%23+This+is+markdown+header%0A%23%23+And+this%21%0A%0A%3Dend+Markdown%0A" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The synergy between two markup languages is fascinating.&lt;/p&gt;

&lt;p&gt;Here's another example that I'd like to make a reality:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=include article.md
=include file:./includes/*.md 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I like the idea of further integration.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;These are some of the major improvements that Podlite brings. Many of these suggestions have already been implemented in Podlite and have proven their practical usefulness.&lt;/p&gt;

&lt;p&gt;I took the current specification for Raku Pod (aka &lt;a href="https://github.com/perl6/specs/blob/master/S26-documentation.pod" rel="noopener noreferrer"&gt;Synopsis 26&lt;/a&gt;), updated it, and incorporated all my ideas into it. I presented it as a specification for Rakudoc.&lt;/p&gt;

&lt;p&gt;As a result, the &lt;a href="https://github.com/zag/specs/blob/rakudoc-proposal/specification.rakudoc" rel="noopener noreferrer"&gt;Rakudoc proposal&lt;/a&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Is 100% compatible with already written documentation in Raku Pod (aka Pod6), guaranteed by using the current specification as a base (Synopsis 26).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Maintains simplicity and elegance.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Remains extensible.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Empowers users with new blocks and formatting codes.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I'm open to ideas and suggestions. Feel free to send it to zag(at)cpan.org. I'm looking forward to hearing from you!&lt;/p&gt;

&lt;p&gt;In the meantime, I'll continue working on &lt;a href="https://github.com/podlite/podlite-desktop" rel="noopener noreferrer"&gt;Podlite Editor&lt;/a&gt; and &lt;a href="https://github.com/podlite/" rel="noopener noreferrer"&gt;Podlite&lt;/a&gt; itself.&lt;/p&gt;

&lt;p&gt;Thank you for your attention!&lt;/p&gt;

&lt;p&gt;With best regards, Alex&lt;/p&gt;

&lt;p&gt;PS. I recently noticed an intriguing event on the calendar – a POD birthday celebration marked with the comment '1994.10.18'. Although I couldn't find any confirmation of this event, it seemed like a good reason to dive into this topic and write this article. 😄&lt;/p&gt;

</description>
      <category>podlite</category>
      <category>documentation</category>
      <category>rakulang</category>
      <category>rakudoc</category>
    </item>
    <item>
      <title>Reinventing Pod6: Moving Forward</title>
      <dc:creator>Alexandr Zahatski</dc:creator>
      <pubDate>Sun, 02 Jul 2023 17:08:19 +0000</pubDate>
      <link>https://dev.to/zag/reinventing-pod6-moving-forward-5gee</link>
      <guid>https://dev.to/zag/reinventing-pod6-moving-forward-5gee</guid>
      <description>&lt;p&gt;Today is a great day because I feel that some interesting changes are happening in an important aspect of my work.&lt;/p&gt;

&lt;p&gt;Recently, I've become involved in the process of working on a new specification for the Pod6 markup language. Documentation is a crucial part of any programming language, and despite that, Pod6 has remained unchanged for quite a while. So, the fact that the relevance of Pod is being addressed and taking a step forward is truly commendable. I want to extend my sincere appreciation to you, Richard (&lt;a class="mentioned-user" href="https://dev.to/finanalyst"&gt;@finanalyst&lt;/a&gt;), for this.&lt;/p&gt;

&lt;p&gt;As I started reviewing early version of Rakudoc, which Richard sent to me, I realized that I have a wealth of ideas and experience with Pod6 that I've been preparing for this moment. They are needs to be organized, put into the text, and shared. It would also be beneficial to review ideas, previous work, revisit all the discussions that have taken place in the Raku/Doc community, which will require some time.&lt;/p&gt;

&lt;p&gt;So, I've informed Richard that I'll be preparing my version of specification of the "&lt;em&gt;next Pod&lt;/em&gt;". &lt;/p&gt;

&lt;p&gt;I estimate that this process will take around 3 weeks. Maybe a little bit less, or more.&lt;/p&gt;

&lt;p&gt;I believe that considering multiple viewpoints will be highly beneficial, especially at this early stage.&lt;/p&gt;

&lt;p&gt;To keep things focused and avoid any unintended consequences due to my own oversight, I've decided to work on this project in a quiet mode and will share a diary of my progress once the work is completed.&lt;/p&gt;

&lt;p&gt;In addition to my work on the new Pod6 specification, I've also decided to take a pause on working on the next release of &lt;a href="https://github.com/podlite/podlite-desktop" rel="noopener noreferrer"&gt;Podlite editor&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Thank you for your attention!&lt;/p&gt;

&lt;p&gt;With best,&lt;br&gt;
Alex&lt;/p&gt;

</description>
      <category>pod6</category>
      <category>podlite</category>
      <category>rakulang</category>
      <category>documentation</category>
    </item>
  </channel>
</rss>
