<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Asraful's Docs on My Random Docs</title><link>https://docs.asrafuli.com/</link><description>Recent content in Asraful's Docs on My Random Docs</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sat, 16 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://docs.asrafuli.com/index.xml" rel="self" type="application/rss+xml"/><item><title>Adding Authentication to Azure Static Web Apps (Hugo)</title><link>https://docs.asrafuli.com/docs/how-to/add-auth-hugo/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.asrafuli.com/docs/how-to/add-auth-hugo/</guid><description>&lt;h1 id="adding-authentication-to-azure-static-web-apps-hugo"&gt;Adding Authentication to Azure Static Web Apps (Hugo)&lt;a class="anchor" href="#adding-authentication-to-azure-static-web-apps-hugo"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;This guide covers how to lock your Hugo site behind a login using Azure Static Web Apps (SWA) built-in authentication, and restrict access to selected users only.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="anchor" href="#prerequisites"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Hugo site deployed to Azure Static Web Apps via GitHub Actions&lt;/li&gt;
&lt;li&gt;Azure account with your Static Web App resource provisioned&lt;/li&gt;
&lt;li&gt;&lt;code&gt;static/staticwebapp.config.json&lt;/code&gt; file in your Hugo project&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="how-it-works"&gt;How It Works&lt;a class="anchor" href="#how-it-works"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Azure SWA handles authentication at the infrastructure level — no backend code required. The &lt;code&gt;staticwebapp.config.json&lt;/code&gt; file controls which routes are protected and which identity provider handles login.&lt;/p&gt;</description></item><item><title>AI Tool Adoption Governance</title><link>https://docs.asrafuli.com/docs/ai-tools-log/ai-adoption-govornance/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.asrafuli.com/docs/ai-tools-log/ai-adoption-govornance/</guid><description>&lt;h1 id="ai-tool-adoption-governance"&gt;AI Tool Adoption Governance&lt;a class="anchor" href="#ai-tool-adoption-governance"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="process-policy--standards-document--version-10"&gt;Process, Policy &amp;amp; Standards Document — Version 1.0&lt;a class="anchor" href="#process-policy--standards-document--version-10"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Value&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Document Owner&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;[CTO / Head of Engineering / AI Governance Lead]&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Classification&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Internal — Not for External Distribution&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Version&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;1.0 — Initial Release&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Effective Date&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;[DATE]&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Review Frequency&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Quarterly&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Last Reviewed&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;[DATE]&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;blockquote class='book-hint '&gt;
&lt;p&gt;&lt;strong&gt;Purpose:&lt;/strong&gt; This document establishes the organization&amp;rsquo;s end-to-end process for evaluating, approving, deploying, and continuously governing artificial intelligence (AI) tools. It applies to all AI-powered software — including coding assistants, generative content tools, data-analysis platforms, and autonomous agents — used by employees, contractors, and third parties on behalf of the organization.&lt;/p&gt;</description></item><item><title>Architecture</title><link>https://docs.asrafuli.com/docs/openclaw/overview/architecture/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.asrafuli.com/docs/openclaw/overview/architecture/</guid><description>&lt;h2 id="architecture"&gt;Architecture&lt;a class="anchor" href="#architecture"&gt;#&lt;/a&gt;&lt;/h2&gt;</description></item><item><title>New Mac Setup</title><link>https://docs.asrafuli.com/docs/workflow/new-mac-setup/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.asrafuli.com/docs/workflow/new-mac-setup/</guid><description>&lt;h1 id="new-mac-setup"&gt;New Mac Setup&lt;a class="anchor" href="#new-mac-setup"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Use this workflow to configure a new Mac from scratch with the tools and shell environment needed for development and daily work.&lt;/p&gt;
&lt;h2 id="trigger"&gt;Trigger&lt;a class="anchor" href="#trigger"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Use this when setting up a new Mac or rebuilding a machine after a wipe.&lt;/p&gt;
&lt;h2 id="inputs"&gt;Inputs&lt;a class="anchor" href="#inputs"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Before starting, have:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A Mac with macOS up to date&lt;/li&gt;
&lt;li&gt;An Apple ID signed in&lt;/li&gt;
&lt;li&gt;Internet access&lt;/li&gt;
&lt;li&gt;Your Microsoft 365 licence or account credentials&lt;/li&gt;
&lt;li&gt;Your GitHub username and email address&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="1-install-homebrew"&gt;1. Install Homebrew&lt;a class="anchor" href="#1-install-homebrew"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Homebrew is the package manager for everything else. Install it first.&lt;/p&gt;</description></item><item><title>With ToC</title><link>https://docs.asrafuli.com/docs/example/table-of-contents/with-toc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.asrafuli.com/docs/example/table-of-contents/with-toc/</guid><description>&lt;h1 id="caput-vino-delphine-in-tamen-vias"&gt;Caput vino delphine in tamen vias&lt;a class="anchor" href="#caput-vino-delphine-in-tamen-vias"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="cognita-laeva-illo-fracta"&gt;Cognita laeva illo fracta&lt;a class="anchor" href="#cognita-laeva-illo-fracta"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Lorem markdownum pavent auras, surgit nunc cingentibus libet &lt;strong&gt;Laomedonque que&lt;/strong&gt;
est. Pastor &lt;a href="http://est.org/ire.aspx"&gt;An&lt;/a&gt; arbor filia foedat, ne &lt;a href="http://www.indiciumturbam.org/moramquid.php"&gt;fugit
aliter&lt;/a&gt;, per. Helicona illas et
callida neptem est &lt;em&gt;Oresitrophos&lt;/em&gt; caput, dentibus est venit. Tenet reddite
&lt;a href="http://www.antro-et.net/"&gt;famuli&lt;/a&gt; praesentem fortibus, quaeque vis foret si
frondes &lt;em&gt;gelidos&lt;/em&gt; gravidae circumtulit &lt;a href="http://incurvasustulit.io/illi-virtute.html"&gt;inpulit armenta
nativum&lt;/a&gt;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Te at cruciabere vides rubentis manebo&lt;/li&gt;
&lt;li&gt;Maturuit in praetemptat ruborem ignara postquam habitasse&lt;/li&gt;
&lt;li&gt;Subitarum supplevit quoque fontesque venabula spretis modo&lt;/li&gt;
&lt;li&gt;Montis tot est mali quasque gravis&lt;/li&gt;
&lt;li&gt;Quinquennem domus arsit ipse&lt;/li&gt;
&lt;li&gt;Pellem turis pugnabant locavit&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="natus-quaerere"&gt;Natus quaerere&lt;a class="anchor" href="#natus-quaerere"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Pectora et sine mulcere, coniuge dum tincta incurvae. Quis iam; est dextra
Peneosque, metuis a verba, primo. Illa sed colloque suis: magno: gramen, aera
excutiunt concipit.&lt;/p&gt;</description></item><item><title>Keep Track of Mac Installation</title><link>https://docs.asrafuli.com/docs/how-to/keep-track-mac-install/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.asrafuli.com/docs/how-to/keep-track-mac-install/</guid><description>&lt;h1 id="mac-installation-logging-guide"&gt;Mac Installation Logging Guide&lt;a class="anchor" href="#mac-installation-logging-guide"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;A simple reference for tracking everything installed on your Mac, saved to a plain text file.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="1-script-based-logging-recommended"&gt;1. Script-Based Logging (Recommended)&lt;a class="anchor" href="#1-script-based-logging-recommended"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Wrap your package managers with a logging function. Add this to your &lt;code&gt;~/.zshrc&lt;/code&gt; or &lt;code&gt;~/.bashrc&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Installation Logger&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;INSTALL_LOG&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;$HOME&lt;span style="color:#e6db74"&gt;/install_log.txt&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;log_install&lt;span style="color:#f92672"&gt;()&lt;/span&gt; &lt;span style="color:#f92672"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; echo &lt;span style="color:#e6db74"&gt;&amp;#34;[&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;$(&lt;/span&gt;date &lt;span style="color:#e6db74"&gt;&amp;#39;+%Y-%m-%d %H:%M:%S&amp;#39;&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;)&lt;/span&gt;&lt;span style="color:#e6db74"&gt;] &lt;/span&gt;$*&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt; &amp;gt;&amp;gt; &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;$INSTALL_LOG&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Wrap brew&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;brew&lt;span style="color:#f92672"&gt;()&lt;/span&gt; &lt;span style="color:#f92672"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; command brew &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;$@&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; &lt;span style="color:#f92672"&gt;[[&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;$1&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;==&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;install&amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;]]&lt;/span&gt;; &lt;span style="color:#66d9ef"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; log_install &lt;span style="color:#e6db74"&gt;&amp;#34;brew install &lt;/span&gt;&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;@:2&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Wrap pip&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;pip&lt;span style="color:#f92672"&gt;()&lt;/span&gt; &lt;span style="color:#f92672"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; command pip &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;$@&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; &lt;span style="color:#f92672"&gt;[[&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;$1&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;==&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;install&amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;]]&lt;/span&gt;; &lt;span style="color:#66d9ef"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; log_install &lt;span style="color:#e6db74"&gt;&amp;#34;pip install &lt;/span&gt;&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;@:2&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Wrap pip3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;pip3&lt;span style="color:#f92672"&gt;()&lt;/span&gt; &lt;span style="color:#f92672"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; command pip3 &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;$@&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; &lt;span style="color:#f92672"&gt;[[&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;$1&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;==&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;install&amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;]]&lt;/span&gt;; &lt;span style="color:#66d9ef"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; log_install &lt;span style="color:#e6db74"&gt;&amp;#34;pip3 install &lt;/span&gt;&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;@:2&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Wrap npm global installs&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;npm&lt;span style="color:#f92672"&gt;()&lt;/span&gt; &lt;span style="color:#f92672"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; command npm &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;$@&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; &lt;span style="color:#f92672"&gt;[[&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;$1&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;==&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;install&amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style="color:#f92672"&gt;(&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;$2&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;==&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;-g&amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;||&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;$2&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;==&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;--global&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;)&lt;/span&gt; &lt;span style="color:#f92672"&gt;]]&lt;/span&gt;; &lt;span style="color:#66d9ef"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; log_install &lt;span style="color:#e6db74"&gt;&amp;#34;npm install &lt;/span&gt;&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;@:2&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;After adding, run &lt;code&gt;source ~/.zshrc&lt;/code&gt;. Every install will append to &lt;code&gt;~/install_log.txt&lt;/code&gt; like:&lt;/p&gt;</description></item><item><title>LLM Gateway</title><link>https://docs.asrafuli.com/docs/projects/llm-gateway/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.asrafuli.com/docs/projects/llm-gateway/</guid><description>&lt;h1 id="llm-gateway"&gt;LLM Gateway&lt;a class="anchor" href="#llm-gateway"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="purpose"&gt;Purpose&lt;a class="anchor" href="#purpose"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Build a gateway layer that sits in front of one or more large language model APIs, providing a unified interface for routing, authentication, rate limiting, logging, and cost control.&lt;/p&gt;
&lt;h2 id="status"&gt;Status&lt;a class="anchor" href="#status"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;blockquote class='book-hint '&gt;
&lt;p&gt;Active&lt;/p&gt;
&lt;/blockquote&gt;&lt;h2 id="goals"&gt;Goals&lt;a class="anchor" href="#goals"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Provide a single endpoint that abstracts multiple LLM providers (OpenAI, Anthropic, etc.)&lt;/li&gt;
&lt;li&gt;Enforce API key management and per-consumer authentication&lt;/li&gt;
&lt;li&gt;Track usage, costs, and latency per consumer and model&lt;/li&gt;
&lt;li&gt;Support request routing rules (e.g. route by model name, fallback on error)&lt;/li&gt;
&lt;li&gt;Enable rate limiting and budget caps per consumer&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="scope"&gt;Scope&lt;a class="anchor" href="#scope"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="included"&gt;Included&lt;a class="anchor" href="#included"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;HTTP proxy layer that accepts OpenAI-compatible requests&lt;/li&gt;
&lt;li&gt;Provider adapters for at least Anthropic and OpenAI&lt;/li&gt;
&lt;li&gt;Request and response logging with token counts&lt;/li&gt;
&lt;li&gt;Per-consumer API key issuance and validation&lt;/li&gt;
&lt;li&gt;Rate limiting and monthly spend caps&lt;/li&gt;
&lt;li&gt;Admin interface or config file for managing consumers and rules&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="not-included"&gt;Not included&lt;a class="anchor" href="#not-included"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fine-tuning or model hosting&lt;/li&gt;
&lt;li&gt;Training data management&lt;/li&gt;
&lt;li&gt;End-user chat UI&lt;/li&gt;
&lt;li&gt;Multi-region deployment (deferred)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="tasks"&gt;Tasks&lt;a class="anchor" href="#tasks"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Define the API contract (request/response schema)&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Stand up a basic HTTP proxy that forwards to one provider&lt;/li&gt;
&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; Add provider adapters (Anthropic, OpenAI)&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Implement consumer key management&lt;/li&gt;
&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; Add request logging with token and cost tracking&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Add rate limiting per consumer&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Add budget cap enforcement&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Write admin config or dashboard&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Document the setup and deployment steps&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Test with real traffic&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="links-and-files"&gt;Links and files&lt;a class="anchor" href="#links-and-files"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Repository: &lt;a href="https://github.com/asrafuli/gato"&gt;https://github.com/asrafuli/gato&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Docs:&lt;/li&gt;
&lt;li&gt;Notes:&lt;/li&gt;
&lt;li&gt;Related workflow:&lt;/li&gt;
&lt;li&gt;Related how-to:&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="decisions"&gt;Decisions&lt;a class="anchor" href="#decisions"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Date&lt;/th&gt;
 &lt;th&gt;Decision&lt;/th&gt;
 &lt;th&gt;Reason&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;2026-05-10&lt;/td&gt;
 &lt;td&gt;Start with OpenAI-compatible request schema&lt;/td&gt;
 &lt;td&gt;Maximises compatibility with existing tooling&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="outcome"&gt;Outcome&lt;a class="anchor" href="#outcome"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;A running gateway service that proxies LLM requests&lt;/li&gt;
&lt;li&gt;Per-consumer usage reports&lt;/li&gt;
&lt;li&gt;Documentation covering setup, configuration, and adding new providers&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="notes"&gt;Notes&lt;a class="anchor" href="#notes"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Capture rough notes, lessons, and things to remember.&lt;/p&gt;</description></item><item><title>Security Considerations</title><link>https://docs.asrafuli.com/docs/openclaw/overview/security-considerations/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.asrafuli.com/docs/openclaw/overview/security-considerations/</guid><description>&lt;h2 id="security-considerations"&gt;Security Considerations&lt;a class="anchor" href="#security-considerations"&gt;#&lt;/a&gt;&lt;/h2&gt;</description></item><item><title>Without ToC</title><link>https://docs.asrafuli.com/docs/example/table-of-contents/without-toc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.asrafuli.com/docs/example/table-of-contents/without-toc/</guid><description>&lt;h1 id="at-me-ipso-nepotibus-nunc-celebratior-genus"&gt;At me ipso nepotibus nunc celebratior genus&lt;a class="anchor" href="#at-me-ipso-nepotibus-nunc-celebratior-genus"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="tanto-oblite"&gt;Tanto oblite&lt;a class="anchor" href="#tanto-oblite"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Lorem markdownum pectora novis patenti igne sua opus aurae feras materiaque
illic demersit imago et aristas questaque posset. Vomit quoque suo inhaesuro
clara. Esse cumque, per referri triste. Ut exponit solisque communis in tendens
vincetis agisque iamque huic bene ante vetat omina Thebae rates. Aeacus servat
admonitu concidit, ad resimas vultus et rugas vultu &lt;strong&gt;dignamque&lt;/strong&gt; Siphnon.&lt;/p&gt;
&lt;p&gt;Quam iugulum regia simulacra, plus meruit humo pecorumque haesit, ab discedunt
dixit: ritu pharetramque. Exul Laurenti orantem modo, per densum missisque labor
manibus non colla unum, obiectat. Tu pervia collo, fessus quae Cretenque Myconon
crate! Tegumenque quae invisi sudore per vocari quaque plus ventis fluidos. Nodo
perque, fugisse pectora sorores.&lt;/p&gt;</description></item><item><title>KubeEdge Setup Guide</title><link>https://docs.asrafuli.com/docs/how-to/kubeedge-setup/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.asrafuli.com/docs/how-to/kubeedge-setup/</guid><description>&lt;h1 id="kubeedge-setup-guide"&gt;KubeEdge Setup Guide&lt;a class="anchor" href="#kubeedge-setup-guide"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;A complete hands-on guide to setting up a KubeEdge cloud-edge environment, managing IoT devices, and troubleshooting common issues.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="anchor" href="#prerequisites"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Ensure you have the required tools installed before starting:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Verify required tools&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker --version
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl version --client
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;go version &lt;span style="color:#75715e"&gt;# Optional, for building from source&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;You will need:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A Kubernetes cluster (cloud side)&lt;/li&gt;
&lt;li&gt;Ubuntu/CentOS machines for edge nodes&lt;/li&gt;
&lt;li&gt;Network connectivity between cloud and edge&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="step-1-prepare-your-environment"&gt;Step 1: Prepare Your Environment&lt;a class="anchor" href="#step-1-prepare-your-environment"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Set up environment variables&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;export KUBEEDGE_VERSION&lt;span style="color:#f92672"&gt;=&lt;/span&gt;v1.18.0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;export CLOUD_MASTER_IP&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&amp;lt;your-k8s-master-ip&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;export EDGE_NODE_NAME&lt;span style="color:#f92672"&gt;=&lt;/span&gt;edge-node-01
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Clean up any previous installations&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl stop edgecore 2&amp;gt;/dev/null &lt;span style="color:#f92672"&gt;||&lt;/span&gt; true
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl stop cloudcore 2&amp;gt;/dev/null &lt;span style="color:#f92672"&gt;||&lt;/span&gt; true&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="step-2-install-cloudcore-cloud-side"&gt;Step 2: Install CloudCore (Cloud Side)&lt;a class="anchor" href="#step-2-install-cloudcore-cloud-side"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Download and install keadm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl -L https://github.com/kubeedge/kubeedge/releases/download/&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;KUBEEDGE_VERSION&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;/keadm-&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;KUBEEDGE_VERSION&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;-linux-amd64.tar.gz | tar xz
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo mv keadm-&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;KUBEEDGE_VERSION&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;-linux-amd64/keadm/keadm /usr/local/bin/
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Initialize CloudCore on your Kubernetes cluster&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo keadm init &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --advertise-address&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;CLOUD_MASTER_IP&lt;span style="color:#e6db74"&gt;}&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --kubeedge-version&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;KUBEEDGE_VERSION&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Verify CloudCore is running&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl get pods -n kubeedge&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="step-3-get-token-for-edge-nodes"&gt;Step 3: Get Token for Edge Nodes&lt;a class="anchor" href="#step-3-get-token-for-edge-nodes"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Generate token for edge node registration&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo keadm gettoken
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Output will look like:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 27a37ef16159f7d3be8fae95d588b79b3adaaf92727b72659eb89758c66ffda2.eyJh...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="step-4-join-edge-node"&gt;Step 4: Join Edge Node&lt;a class="anchor" href="#step-4-join-edge-node"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Run the following &lt;strong&gt;on your edge machine&lt;/strong&gt;:&lt;/p&gt;</description></item><item><title>Static Website to GitHub and Azure</title><link>https://docs.asrafuli.com/docs/workflow/static-website-github-azure/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.asrafuli.com/docs/workflow/static-website-github-azure/</guid><description>&lt;h1 id="static-website-to-github-and-azure"&gt;Static Website to GitHub and Azure&lt;a class="anchor" href="#static-website-to-github-and-azure"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Use this workflow to start a new static website on a Mac, create a GitHub repository, push the code, and deploy it to Azure from GitHub.&lt;/p&gt;
&lt;h2 id="trigger"&gt;Trigger&lt;a class="anchor" href="#trigger"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Use this when starting a small website, documentation site, landing page, or static frontend that should be hosted online.&lt;/p&gt;
&lt;h2 id="inputs"&gt;Inputs&lt;a class="anchor" href="#inputs"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Before starting, have:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A Mac with Terminal access&lt;/li&gt;
&lt;li&gt;A GitHub account&lt;/li&gt;
&lt;li&gt;An Azure account&lt;/li&gt;
&lt;li&gt;A project name&lt;/li&gt;
&lt;li&gt;A rough idea of the first page&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Recommended tools:&lt;/p&gt;</description></item><item><title>Automated Note Publishing Workflow</title><link>https://docs.asrafuli.com/posts/openclaw/idea/</link><pubDate>Sat, 16 May 2026 00:00:00 +0000</pubDate><guid>https://docs.asrafuli.com/posts/openclaw/idea/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="anchor" href="#overview"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;An end-to-end pipeline that takes meeting notes from Granola and publishes them as dated markdown entries to a static website — with minimal manual effort.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Integration chain:&lt;/strong&gt; Granola → Telegram → OpenClaw → GitHub → Azure&lt;/p&gt;
&lt;h2 id="how-it-works"&gt;How It Works&lt;a class="anchor" href="#how-it-works"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Step&lt;/th&gt;
 &lt;th&gt;Tool&lt;/th&gt;
 &lt;th&gt;Role&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;1&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;Granola&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Generates meeting summaries from transcripts&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;Telegram&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Receives notes with a processing instruction&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;3&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;OpenClaw&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Watches the channel, creates dated markdown files&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;4&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;GitHub&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Stores the generated files in a repository&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;5&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;Azure Static Website&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Auto-deploys on every repository push&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="technical-implementation"&gt;Technical Implementation&lt;a class="anchor" href="#technical-implementation"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="openclaw"&gt;OpenClaw&lt;a class="anchor" href="#openclaw"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Monitors a specific Telegram channel&lt;/li&gt;
&lt;li&gt;Triggers on the instruction phrase: &lt;code&gt;&amp;quot;go ahead and create an entry&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Generates markdown files with date stamps&lt;/li&gt;
&lt;li&gt;Pushes directly to the connected GitHub repository&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="github--azure"&gt;GitHub + Azure&lt;a class="anchor" href="#github--azure"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Repository is linked to an Azure Static Website deployment&lt;/li&gt;
&lt;li&gt;Every push triggers an automatic redeploy&lt;/li&gt;
&lt;li&gt;No manual publishing step required&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="version-1-scope"&gt;Version 1 Scope&lt;a class="anchor" href="#version-1-scope"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This first iteration keeps things simple and focused on getting the pipeline working end-to-end:&lt;/p&gt;</description></item><item><title>I Let an AI Agent Loose on My Mac. Here's What Happened.</title><link>https://docs.asrafuli.com/posts/openclaw/journey-article/</link><pubDate>Sat, 16 May 2026 00:00:00 +0000</pubDate><guid>https://docs.asrafuli.com/posts/openclaw/journey-article/</guid><description>&lt;p&gt;&lt;em&gt;A cautionary tale, a second chance, and a 13-year-old iMac that found its purpose.&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;I didn&amp;rsquo;t do much research. A friend said it was good, built by a single developer, and worth trying. So I downloaded OpenClaw, clicked through a security warning that I probably should have taken more seriously, and installed it directly on my main Mac.&lt;/p&gt;
&lt;p&gt;My first question was simple: &lt;em&gt;&amp;ldquo;What can you do?&amp;rdquo;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;It told me it could manage email, calendars, and system settings. Impressive. So I pushed a little further — &amp;ldquo;Can you update Docker?&amp;rdquo;&lt;/p&gt;</description></item><item><title>OpenClaw</title><link>https://docs.asrafuli.com/posts/openclaw/opencalw/</link><pubDate>Fri, 01 May 2026 00:00:00 +0000</pubDate><guid>https://docs.asrafuli.com/posts/openclaw/opencalw/</guid><description>&lt;h1 id="my-openclaw-journey-from-friction-to-flow"&gt;My OpenClaw Journey: From Friction to Flow&lt;a class="anchor" href="#my-openclaw-journey-from-friction-to-flow"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;When I started using OpenClaw seriously, I wanted one thing: an assistant that could actually &lt;em&gt;do&lt;/em&gt; work with me, not just talk about it.&lt;/p&gt;
&lt;h2 id="real-problems-real-fixes"&gt;Real Problems, Real Fixes&lt;a class="anchor" href="#real-problems-real-fixes"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;One of my most practical wins was fixing Wi‑Fi on an older 2013 Intel Mac running Linux.
I hit a nasty Broadcom + DKMS dependency conflict, tracked it down to a repo/version mismatch, and got Wi‑Fi working again by pinning the right kernel (&lt;code&gt;6.8.0-111-generic&lt;/code&gt;) and locking the driver/toolchain to prevent future breakage.&lt;/p&gt;</description></item><item><title>AI Hackathon Facilitation Guide</title><link>https://docs.asrafuli.com/docs/ai-tools-log/hackathon/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.asrafuli.com/docs/ai-tools-log/hackathon/</guid><description>&lt;h1 id="ai-hackathon-facilitation-guide"&gt;AI Hackathon Facilitation Guide&lt;a class="anchor" href="#ai-hackathon-facilitation-guide"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;An internal AI hackathon is one of the most effective ways to generate practical use cases, upskill employees, encourage cross-functional collaboration, identify prototypes worth production investment, and build excitement around AI adoption.&lt;/p&gt;
&lt;h1 id="process"&gt;Process&lt;a class="anchor" href="#process"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;hr&gt;
&lt;h2 id="1-define-the-purpose"&gt;1. Define the Purpose&lt;a class="anchor" href="#1-define-the-purpose"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Start by answering one question: &lt;strong&gt;What outcome do we want from this hackathon?&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Focus&lt;/th&gt;
 &lt;th&gt;Goals&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Innovation&lt;/td&gt;
 &lt;td&gt;Discover new AI-powered product ideas, explore internal process automation&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Learning&lt;/td&gt;
 &lt;td&gt;Teach employees how to use LLMs and AI tools&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Business Impact&lt;/td&gt;
 &lt;td&gt;Reduce costs, improve productivity, enhance customer experience&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Talent&lt;/td&gt;
 &lt;td&gt;Identify employees with strong AI skills&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Recommended goal:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Capture a Workflow</title><link>https://docs.asrafuli.com/docs/workflow/capture-a-workflow/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.asrafuli.com/docs/workflow/capture-a-workflow/</guid><description>&lt;h1 id="capture-a-workflow"&gt;Capture a Workflow&lt;a class="anchor" href="#capture-a-workflow"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Use this template when documenting how you handle a repeatable activity.&lt;/p&gt;
&lt;h2 id="workflow-name"&gt;Workflow name&lt;a class="anchor" href="#workflow-name"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Give the workflow a clear name.&lt;/p&gt;
&lt;p&gt;Examples:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Publish a new blog post&lt;/li&gt;
&lt;li&gt;Debug a broken local dev server&lt;/li&gt;
&lt;li&gt;Review AI tool subscriptions&lt;/li&gt;
&lt;li&gt;Plan a weekly work session&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="trigger"&gt;Trigger&lt;a class="anchor" href="#trigger"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Describe when this workflow starts.&lt;/p&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;blockquote class='book-hint '&gt;
&lt;p&gt;I use this workflow when I need to turn scattered notes into a published document.&lt;/p&gt;
&lt;/blockquote&gt;&lt;h2 id="inputs"&gt;Inputs&lt;a class="anchor" href="#inputs"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;List what you need before starting:&lt;/p&gt;</description></item><item><title>Project Template</title><link>https://docs.asrafuli.com/docs/projects/project-template/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.asrafuli.com/docs/projects/project-template/</guid><description>&lt;h1 id="project-template"&gt;Project Template&lt;a class="anchor" href="#project-template"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Use this page as a starting point for new projects.&lt;/p&gt;
&lt;h2 id="purpose"&gt;Purpose&lt;a class="anchor" href="#purpose"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Describe why this project exists.&lt;/p&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;blockquote class='book-hint '&gt;
&lt;p&gt;Build a repeatable documentation system for personal tools, workflows, and technical notes.&lt;/p&gt;
&lt;/blockquote&gt;&lt;h2 id="status"&gt;Status&lt;a class="anchor" href="#status"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Choose one:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Planned&lt;/li&gt;
&lt;li&gt;Active&lt;/li&gt;
&lt;li&gt;Paused&lt;/li&gt;
&lt;li&gt;Completed&lt;/li&gt;
&lt;li&gt;Archived&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Current status:&lt;/p&gt;
&lt;blockquote class='book-hint '&gt;
&lt;p&gt;Active&lt;/p&gt;
&lt;/blockquote&gt;&lt;h2 id="goals"&gt;Goals&lt;a class="anchor" href="#goals"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;List the outcomes that matter most.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Goal 1&lt;/li&gt;
&lt;li&gt;Goal 2&lt;/li&gt;
&lt;li&gt;Goal 3&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="scope"&gt;Scope&lt;a class="anchor" href="#scope"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="included"&gt;Included&lt;a class="anchor" href="#included"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;What this project will cover&lt;/li&gt;
&lt;li&gt;What files, tools, or systems are involved&lt;/li&gt;
&lt;li&gt;What success looks like&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="not-included"&gt;Not included&lt;a class="anchor" href="#not-included"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Work that belongs somewhere else&lt;/li&gt;
&lt;li&gt;Ideas to save for later&lt;/li&gt;
&lt;li&gt;Things that are intentionally out of scope&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="tasks"&gt;Tasks&lt;a class="anchor" href="#tasks"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Use this as the working checklist.&lt;/p&gt;</description></item><item><title>Write a How-To Guide</title><link>https://docs.asrafuli.com/docs/how-to/write-a-how-to-guide/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.asrafuli.com/docs/how-to/write-a-how-to-guide/</guid><description>&lt;h1 id="write-a-how-to-guide"&gt;Write a How-To Guide&lt;a class="anchor" href="#write-a-how-to-guide"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Use this template whenever you want to document a task you may need to repeat.&lt;/p&gt;
&lt;h2 id="goal"&gt;Goal&lt;a class="anchor" href="#goal"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Describe the result in one sentence.&lt;/p&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;blockquote class='book-hint '&gt;
&lt;p&gt;Install a tool, confirm it runs, and record the commands needed to update it later.&lt;/p&gt;
&lt;/blockquote&gt;&lt;h2 id="requirements"&gt;Requirements&lt;a class="anchor" href="#requirements"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;List anything needed before starting:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Operating system or device&lt;/li&gt;
&lt;li&gt;Required app or CLI tool&lt;/li&gt;
&lt;li&gt;Account access&lt;/li&gt;
&lt;li&gt;Existing files or configuration&lt;/li&gt;
&lt;li&gt;Network or permission requirements&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="anchor" href="#steps"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Write the steps in the order you would actually run them.&lt;/p&gt;</description></item><item><title/><link>https://docs.asrafuli.com/docs/example/asciinema/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.asrafuli.com/docs/example/asciinema/</guid><description>&lt;h1 id="asciinema"&gt;Asciinema&lt;a class="anchor" href="#asciinema"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Asciinema shortcode integrates asciinema player into the markdown page.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-tpl" data-lang="tpl"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;asciinema&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;cast&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;asciinema-627097.cast&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;or&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;cast&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;https://asciinema.org/a/vJNKUQFjuh7qKI2j3OoaKs8Jk.cast&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;loop&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;autoplay&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;speed&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;link rel="stylesheet" href="https://docs.asrafuli.com/asciinema/asciinema-player.css" /&gt;&lt;script defer src="https://docs.asrafuli.com/asciinema/asciinema-player.min.js"&gt;&lt;/script&gt;&lt;script defer src="https://docs.asrafuli.com/asciinema/asciinema-auto.js"&gt;&lt;/script&gt;&lt;div class="asciinema book-asciinema" id="asciinema-0" x-data-cast="asciinema-627097.cast" x-data-opts="{&amp;#34;autoplay&amp;#34;:true,&amp;#34;loop&amp;#34;:true,&amp;#34;speed&amp;#34;:2}" &gt;&lt;/div&gt;

&lt;h2 id="parameters"&gt;Parameters&lt;a class="anchor" href="#parameters"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;All parameters added to the shortcode will be transformed to options for Asciinema player, expect &lt;code&gt;cast&lt;/code&gt; parameter that is used to locate cast file. Cast file follows same rules as portable image, it could be site resource, page resource or remote file URL.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://docs.asciinema.org/manual/player/options/"&gt;List of Asciinema options&lt;/a&gt;&lt;/p&gt;</description></item><item><title/><link>https://docs.asrafuli.com/docs/example/buttons/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.asrafuli.com/docs/example/buttons/</guid><description>&lt;h1 id="buttons"&gt;Buttons&lt;a class="anchor" href="#buttons"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Buttons are styled links that can lead to local page or external link.&lt;/p&gt;
&lt;h2 id="example"&gt;Example&lt;a class="anchor" href="#example"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-tpl" data-lang="tpl"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;button&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;relref&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;/&amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;[&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;class&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;...&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;]&lt;/span&gt; &lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt;Get Home&lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;button&lt;/span&gt; &lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;button&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;href&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;https://github.com/alex-shpak/hugo-book&amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt;Contribute&lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;button&lt;/span&gt; &lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a class="book-btn" href="https://docs.asrafuli.com/" &gt;Get Home&lt;/a&gt;
&lt;a class="book-btn" href="https://github.com/alex-shpak/hugo-book" rel="noopener" target="_blank" &gt;Contribute&lt;/a&gt;&lt;/p&gt;</description></item><item><title/><link>https://docs.asrafuli.com/docs/example/collapsed/3rd-level/4th-level/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.asrafuli.com/docs/example/collapsed/3rd-level/4th-level/</guid><description>&lt;h1 id="4th-level-of-menu"&gt;4th Level of Menu&lt;a class="anchor" href="#4th-level-of-menu"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="caesorum-illa-tu-sentit-micat-vestes-papyriferi"&gt;Caesorum illa tu sentit micat vestes papyriferi&lt;a class="anchor" href="#caesorum-illa-tu-sentit-micat-vestes-papyriferi"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Inde aderam facti; Theseus vis de tauri illa peream. Oculos &lt;strong&gt;uberaque&lt;/strong&gt; non
regisque vobis cursuque, opus venit quam vulnera. Et maiora necemque, lege modo;
gestanda nitidi, vero? Dum ne pectoraque testantur.&lt;/p&gt;
&lt;p&gt;Venasque repulsa Samos qui, exspectatum eram animosque hinc, &lt;a href="http://www.creveratnon.net/apricaaetheriis"&gt;aut
manes&lt;/a&gt;, Assyrii. Cupiens auctoribus
pariter rubet, profana magni super nocens. Vos ius sibilat inpar turba visae
iusto! Sedes ante dum superest &lt;strong&gt;extrema&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title/><link>https://docs.asrafuli.com/docs/example/columns/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.asrafuli.com/docs/example/columns/</guid><description>&lt;h1 id="columns"&gt;Columns&lt;a class="anchor" href="#columns"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Columns help organize shorter pieces of content horizontally for readability. &lt;code&gt;columns&lt;/code&gt; shortcode styles markdown list as up to 3 columns.&lt;/p&gt;
&lt;h2 id="example"&gt;Example&lt;a class="anchor" href="#example"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-tpl" data-lang="tpl"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#f92672"&gt;%&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;columns&lt;/span&gt; &lt;span style="color:#f92672"&gt;[&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;ratio&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;1:1&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;]&lt;/span&gt; &lt;span style="color:#f92672"&gt;[&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;class&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;...&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;]&lt;/span&gt; &lt;span style="color:#f92672"&gt;%&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- ### Left Content
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Lorem markdownum insigne...
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- ### Mid Content
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Lorem markdownum insigne...
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- ### Right Content
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Lorem markdownum insigne...
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#f92672"&gt;%&lt;/span&gt; &lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;columns&lt;/span&gt; &lt;span style="color:#f92672"&gt;%&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;!-- raw HTML omitted --&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;h3 id="left-content"&gt;Left Content&lt;a class="anchor" href="#left-content"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat
stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa
protulit, sed sed aere valvis inhaesuro Pallas animam: qui &lt;em&gt;quid&lt;/em&gt;, ignes.
Miseratus fonte Ditis conubia.&lt;/p&gt;</description></item><item><title/><link>https://docs.asrafuli.com/docs/example/details/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.asrafuli.com/docs/example/details/</guid><description>&lt;h1 id="details"&gt;Details&lt;a class="anchor" href="#details"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Details shortcode is a helper for &lt;code&gt;details&lt;/code&gt; html5 element. To collapse the details either omit the &lt;code&gt;open&lt;/code&gt;
keyword when using positional arguments or set &lt;code&gt;open=false&lt;/code&gt; when using parameters.&lt;/p&gt;
&lt;h2 id="example-with-positional-arguments"&gt;Example with positional arguments&lt;a class="anchor" href="#example-with-positional-arguments"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-tpl" data-lang="tpl"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#f92672"&gt;%&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;details&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;Title&amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;[&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;open&lt;/span&gt;&lt;span style="color:#f92672"&gt;]&lt;/span&gt; &lt;span style="color:#f92672"&gt;%&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;## Markdown content
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Lorem markdownum insigne...
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#f92672"&gt;%&lt;/span&gt; &lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;details&lt;/span&gt; &lt;span style="color:#f92672"&gt;%&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;!-- raw HTML omitted --&gt;
&lt;h2 id="markdown-content"&gt;Markdown content&lt;a class="anchor" href="#markdown-content"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Lorem markdownum insigne&amp;hellip;&lt;/p&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;h2 id="example-with-parameters"&gt;Example with parameters&lt;a class="anchor" href="#example-with-parameters"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-tpl" data-lang="tpl"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#f92672"&gt;%&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;details&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;title&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;Title&amp;#34;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;open&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;true&lt;/span&gt; &lt;span style="color:#f92672"&gt;%&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;## Markdown content
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Lorem markdownum insigne...
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#f92672"&gt;%&lt;/span&gt; &lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;details&lt;/span&gt; &lt;span style="color:#f92672"&gt;%&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;!-- raw HTML omitted --&gt;
&lt;h2 id="markdown-content-1"&gt;Markdown content&lt;a class="anchor" href="#markdown-content-1"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Lorem markdownum insigne&amp;hellip;&lt;/p&gt;</description></item><item><title/><link>https://docs.asrafuli.com/docs/example/experimental/badges/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.asrafuli.com/docs/example/experimental/badges/</guid><description>&lt;h1 id="badges"&gt;Badges&lt;a class="anchor" href="#badges"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;blockquote class='book-hint warning'&gt;
&lt;p&gt;Experimental, could change in the future or be removed&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Badges can be used to annotate your pages with additional information or mark specific places in markdown content.&lt;/p&gt;
&lt;p&gt;&lt;span class="book-badge default" &gt;&lt;span class="book-badge-title"&gt;Title&lt;/span&gt;&lt;span class="book-badge-value"&gt;Value&lt;/span&gt;&lt;/span&gt;
&lt;span class="book-badge info" &gt;&lt;span class="book-badge-title"&gt;Hugo&lt;/span&gt;&lt;span class="book-badge-value"&gt;0.147.6&lt;/span&gt;&lt;/span&gt;
&lt;span class="book-badge success" &gt;&lt;span class="book-badge-title"&gt;Build&lt;/span&gt;&lt;span class="book-badge-value"&gt;Passing&lt;/span&gt;&lt;/span&gt;
&lt;span class="book-badge warning" &gt;&lt;span class="book-badge-title"&gt;Coverage&lt;/span&gt;&lt;span class="book-badge-value"&gt;25%&lt;/span&gt;&lt;/span&gt;
&lt;span class="book-badge danger" &gt;&lt;span class="book-badge-title"&gt;Issues&lt;/span&gt;&lt;span class="book-badge-value"&gt;120&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="examples"&gt;Examples&lt;a class="anchor" href="#examples"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Shortcode&lt;/th&gt;
 &lt;th&gt;Output&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;{{&amp;lt; badge style=&amp;quot;info&amp;quot; title=&amp;quot;hugo&amp;quot; value=&amp;quot;0.147.6&amp;quot; &amp;gt;}}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="book-badge info" &gt;&lt;span class="book-badge-title"&gt;Hugo&lt;/span&gt;&lt;span class="book-badge-value"&gt;0.147.6&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;{{&amp;lt; badge style=&amp;quot;success&amp;quot; title=&amp;quot;Build&amp;quot; value=&amp;quot;Passing&amp;quot; &amp;gt;}}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="book-badge success" &gt;&lt;span class="book-badge-title"&gt;Build&lt;/span&gt;&lt;span class="book-badge-value"&gt;Passing&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;{{&amp;lt; badge style=&amp;quot;warning&amp;quot; title=&amp;quot;Coverage&amp;quot; value=&amp;quot;25%&amp;quot; &amp;gt;}}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="book-badge warning" &gt;&lt;span class="book-badge-title"&gt;Coverage&lt;/span&gt;&lt;span class="book-badge-value"&gt;25%&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;{{&amp;lt; badge style=&amp;quot;danger&amp;quot; title=&amp;quot;Issues&amp;quot; value=&amp;quot;120&amp;quot; &amp;gt;}}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="book-badge danger" &gt;&lt;span class="book-badge-title"&gt;Issues&lt;/span&gt;&lt;span class="book-badge-value"&gt;120&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;{{&amp;lt; badge style=&amp;quot;info&amp;quot; title=&amp;quot;Title&amp;quot; &amp;gt;}}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="book-badge info" &gt;&lt;span class="book-badge-title"&gt;Title&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;{{&amp;lt; badge style=&amp;quot;info&amp;quot; value=&amp;quot;Value&amp;quot; &amp;gt;}}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="book-badge info" &gt;&lt;span class="book-badge-value"&gt;Value&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;{{&amp;lt; badge title=&amp;quot;Default&amp;quot; &amp;gt;}}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="book-badge default" &gt;&lt;span class="book-badge-value"&gt;Default&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="use-in-links"&gt;Use in links&lt;a class="anchor" href="#use-in-links"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;A badge can be wrapped in markdown link producing following result: &lt;a href="https://github.com/gohugoio/hugo/releases/tag/v0.147.6"&gt;&lt;span class="book-badge default" &gt;&lt;span class="book-badge-title"&gt;Hugo&lt;/span&gt;&lt;span class="book-badge-value"&gt;0.147.6&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title/><link>https://docs.asrafuli.com/docs/example/experimental/cards/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.asrafuli.com/docs/example/experimental/cards/</guid><description>&lt;h1 id="cards"&gt;Cards&lt;a class="anchor" href="#cards"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;blockquote class='book-hint warning'&gt;
&lt;p&gt;Experimental, could change in the future or be removed&lt;/p&gt;&lt;/blockquote&gt;&lt;h2 id="example"&gt;Example&lt;a class="anchor" href="#example"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;h3 id="line-1"&gt;Line 1&lt;a class="anchor" href="#line-1"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Line 2&lt;/p&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;p&gt;This is tab MacOS content.&lt;/p&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;p&gt;&lt;strong&gt;Markdown&lt;/strong&gt;&lt;br&gt;
Suspendisse sed congue orci, eu congue metus. Nullam feugiat urna massa.&lt;/p&gt;</description></item><item><title/><link>https://docs.asrafuli.com/docs/example/experimental/images/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.asrafuli.com/docs/example/experimental/images/</guid><description>&lt;h1 id="images"&gt;Images&lt;a class="anchor" href="#images"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;blockquote class='book-hint warning'&gt;
&lt;p&gt;Experimental, could change in the future or be removed&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Image shortcode produces an image that can be clicked to expand.&lt;/p&gt;
&lt;h2 id="example"&gt;Example&lt;a class="anchor" href="#example"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-go-html-template" data-lang="go-html-template"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;image&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;src&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;placeholder.svg&amp;#34;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;alt&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;A placeholder&amp;#34;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;title&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;A placeholder&amp;#34;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;loading&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;lazy&amp;#34;&lt;/span&gt; &lt;span style="color:#960050;background-color:#1e0010"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;label class="book-image" for="book-image-toggle-0"&gt;
 &lt;input class="hidden toggle" type="checkbox" id="book-image-toggle-0" /&gt;
 &lt;img src="placeholder.svg" alt="A placeholder" loading="lazy" title="A placeholder" /&gt;
&lt;/label&gt;
&lt;h2 id="parameters"&gt;Parameters&lt;a class="anchor" href="#parameters"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;code&gt;src&lt;/code&gt; &lt;span class="book-badge warning" &gt;&lt;span class="book-badge-title"&gt;Required&lt;/span&gt;&lt;/span&gt;&lt;/dt&gt;
&lt;dd&gt;The link to the image&lt;/dd&gt;
&lt;dt&gt;&lt;code&gt;class&lt;/code&gt; &lt;span class="book-badge info" &gt;&lt;span class="book-badge-title"&gt;Optional&lt;/span&gt;&lt;/span&gt;&lt;/dt&gt;
&lt;dd&gt;An optional CSS class name that will be applied to the &lt;code&gt;img&lt;/code&gt; element&lt;/dd&gt;
&lt;dt&gt;&lt;code&gt;alt&lt;/code&gt; &lt;span class="book-badge info" &gt;&lt;span class="book-badge-title"&gt;Optional&lt;/span&gt;&lt;/span&gt;&lt;/dt&gt;
&lt;dd&gt;An optional alternate text for the image&lt;/dd&gt;
&lt;dt&gt;&lt;code&gt;title&lt;/code&gt; &lt;span class="book-badge info" &gt;&lt;span class="book-badge-title"&gt;Optional&lt;/span&gt;&lt;/span&gt;&lt;/dt&gt;
&lt;dd&gt;An optional title for the image&lt;/dd&gt;
&lt;dt&gt;&lt;code&gt;loading&lt;/code&gt; &lt;span class="book-badge info" &gt;&lt;span class="book-badge-title"&gt;Optional&lt;/span&gt;&lt;/span&gt;&lt;/dt&gt;
&lt;dd&gt;Sets &lt;code&gt;loading&lt;/code&gt; control for the image: &lt;code&gt;lazy&lt;/code&gt;, &lt;code&gt;eager&lt;/code&gt; or &lt;code&gt;auto&lt;/code&gt;&lt;/dd&gt;
&lt;/dl&gt;</description></item><item><title/><link>https://docs.asrafuli.com/docs/example/hidden/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.asrafuli.com/docs/example/hidden/</guid><description>&lt;h1 id="this-page-is-hidden-in-menu"&gt;This page is hidden in menu&lt;a class="anchor" href="#this-page-is-hidden-in-menu"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h1 id="quondam-non-pater-est-dignior-ille-eurotas"&gt;Quondam non pater est dignior ille Eurotas&lt;a class="anchor" href="#quondam-non-pater-est-dignior-ille-eurotas"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="latent-te-facies"&gt;Latent te facies&lt;a class="anchor" href="#latent-te-facies"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Lorem markdownum arma ignoscas vocavit quoque ille texit mandata mentis ultimus,
frementes, qui in vel. Hippotades Peleus &lt;a href="http://gratia.net/tot-qua.php"&gt;pennas
conscia&lt;/a&gt; cuiquam Caeneus quas.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pater demittere evincitque reddunt&lt;/li&gt;
&lt;li&gt;Maxime adhuc pressit huc Danaas quid freta&lt;/li&gt;
&lt;li&gt;Soror ego&lt;/li&gt;
&lt;li&gt;Luctus linguam saxa ultroque prior Tatiumque inquit&lt;/li&gt;
&lt;li&gt;Saepe liquitur subita superata dederat Anius sudor&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="cum-honorum-latona"&gt;Cum honorum Latona&lt;a class="anchor" href="#cum-honorum-latona"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;O fallor &lt;a href="http://www.spectataharundine.org/aquas-relinquit.html"&gt;in sustinui
iussorum&lt;/a&gt; equidem.
Nymphae operi oris alii fronde parens dumque, in auro ait mox ingenti proxima
iamdudum maius?&lt;/p&gt;</description></item><item><title/><link>https://docs.asrafuli.com/docs/example/hints/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.asrafuli.com/docs/example/hints/</guid><description>&lt;h1 id="hints"&gt;Hints&lt;a class="anchor" href="#hints"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Hint shortcode can be used as a hint/alert/notification block.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-tpl" data-lang="tpl"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#f92672"&gt;%&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;hint&lt;/span&gt; &lt;span style="color:#f92672"&gt;[&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;info&lt;/span&gt;&lt;span style="color:#f92672"&gt;|&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;success&lt;/span&gt;&lt;span style="color:#f92672"&gt;|&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;warning&lt;/span&gt;&lt;span style="color:#f92672"&gt;|&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;danger&lt;/span&gt;&lt;span style="color:#f92672"&gt;]&lt;/span&gt; &lt;span style="color:#f92672"&gt;%&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;**Markdown content** 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#f92672"&gt;%&lt;/span&gt; &lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;hint&lt;/span&gt; &lt;span style="color:#f92672"&gt;%&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt; [!NOTE|TIP|IMPORTANT|WARNING|CAUTION]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt; **Markdown content** 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt; Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt; stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="example"&gt;Example&lt;a class="anchor" href="#example"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;p&gt;&lt;strong&gt;Markdown content&lt;/strong&gt;&lt;br&gt;
Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat
stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa&lt;/p&gt;</description></item><item><title/><link>https://docs.asrafuli.com/docs/example/mermaid/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.asrafuli.com/docs/example/mermaid/</guid><description>&lt;h1 id="mermaid-chart"&gt;Mermaid Chart&lt;a class="anchor" href="#mermaid-chart"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;a href="https://mermaid-js.github.io/"&gt;MermaidJS&lt;/a&gt; is library for generating svg charts and diagrams from text.&lt;/p&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;p&gt;&lt;strong&gt;Override Mermaid initialization config&lt;/strong&gt;&lt;br&gt;
To override the &lt;a href="https://mermaid-js.github.io/mermaid/#/Setup"&gt;initialization config&lt;/a&gt; for Mermaid,
create a &lt;code&gt;mermaid.json&lt;/code&gt; file in your &lt;code&gt;assets&lt;/code&gt; folder!&lt;/p&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;h2 id="example"&gt;Example&lt;a class="anchor" href="#example"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-tpl" data-lang="tpl"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;```mermaid
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;stateDiagram-v2
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; State1: The state with a note
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; note right of State1
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Important information! You can write
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; notes.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; end note
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; State1 --&amp;gt; State2
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; note left of State2 : This is the note to the left.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;```&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;pre class="mermaid"&gt;stateDiagram-v2
 State1: The state with a note
 note right of State1
 Important information! You can write
 notes.
 end note
 State1 --&amp;gt; State2
 note left of State2 : This is the note to the left.&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-tpl" data-lang="tpl"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;mermaid&lt;/span&gt; &lt;span style="color:#f92672"&gt;[&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;class&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;...&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;]&lt;/span&gt; &lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;stateDiagram-v2
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; State1: The state with a note
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; note right of State1
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Important information! You can write
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; notes.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; end note
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; State1 --&amp;gt; State2
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; note left of State2 : This is the note to the left.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;mermaid&lt;/span&gt; &lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;h2 id="diagrams"&gt;Diagrams&lt;a class="anchor" href="#diagrams"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Explore more diagrams and syntax on Mermaid &lt;a href="https://mermaid.js.org/syntax/flowchart.html"&gt;documentation page&lt;/a&gt;.&lt;/p&gt;</description></item><item><title/><link>https://docs.asrafuli.com/docs/example/section/first-page/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.asrafuli.com/docs/example/section/first-page/</guid><description>&lt;h1 id="first-page"&gt;First page&lt;a class="anchor" href="#first-page"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.&lt;/p&gt;</description></item><item><title/><link>https://docs.asrafuli.com/docs/example/section/second-page/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.asrafuli.com/docs/example/section/second-page/</guid><description>&lt;h1 id="second-page"&gt;Second Page&lt;a class="anchor" href="#second-page"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.&lt;/p&gt;</description></item><item><title/><link>https://docs.asrafuli.com/docs/example/steps/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.asrafuli.com/docs/example/steps/</guid><description>&lt;h1 id="steps"&gt;Steps&lt;a class="anchor" href="#steps"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Steps shortcode styles numbered list as series of points for better content organization.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-tpl" data-lang="tpl"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#f92672"&gt;%&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;steps&lt;/span&gt; &lt;span style="color:#f92672"&gt;%&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;1. ## Suspendisse sed congue orci.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ...
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;2. ## Maecenas scelerisque sem.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ...
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;3. ## Etiam risus purus.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ...
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;4. ## Curabitur sed lacinia velit.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ...
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#f92672"&gt;%&lt;/span&gt; &lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;steps&lt;/span&gt; &lt;span style="color:#f92672"&gt;%&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="example"&gt;Example&lt;a class="anchor" href="#example"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;h2 id="suspendisse-sed-congue-orci"&gt;Suspendisse sed congue orci.&lt;a class="anchor" href="#suspendisse-sed-congue-orci"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Suspendisse sed congue orci, eu congue metus. Nullam feugiat urna massa, et fringilla metus consectetur molestie. Curabitur pellentesque sodales ipsum, sed efficitur libero euismod ac. Donec sit amet erat nunc. Suspendisse porta nisl velit, quis auctor massa commodo nec. Donec sollicitudin tellus sit amet massa condimentum luctus. Etiam molestie at ante et convallis.&lt;/p&gt;</description></item><item><title/><link>https://docs.asrafuli.com/docs/example/tabs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.asrafuli.com/docs/example/tabs/</guid><description>&lt;h1 id="tabs"&gt;Tabs&lt;a class="anchor" href="#tabs"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Tabs let you organize content by context, for example installation instructions for each supported platform.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-tpl" data-lang="tpl"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;tabs&lt;/span&gt; &lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#f92672"&gt;%&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;tab&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;MacOS&amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;%&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt; # MacOS Content &lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#f92672"&gt;%&lt;/span&gt; &lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;tab&lt;/span&gt; &lt;span style="color:#f92672"&gt;%&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#f92672"&gt;%&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;tab&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;Linux&amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;%&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt; # Linux Content &lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#f92672"&gt;%&lt;/span&gt; &lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;tab&lt;/span&gt; &lt;span style="color:#f92672"&gt;%&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#f92672"&gt;%&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;tab&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;Windows&amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;%&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt; # Windows Content &lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#f92672"&gt;%&lt;/span&gt; &lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;tab&lt;/span&gt; &lt;span style="color:#f92672"&gt;%&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;{{&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;tabs&lt;/span&gt; &lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#75715e"&gt;}}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="example"&gt;Example&lt;a class="anchor" href="#example"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;div class="book-tabs" &gt;

&lt;input type="radio" class="toggle" name="tabs-0" id="tabs-0-0" checked="checked" /&gt;&lt;label for="tabs-0-0"&gt;MacOS&lt;/label&gt;&lt;div class="book-tabs-content markdown-inner"&gt;
&lt;h1 id="macos"&gt;MacOS&lt;a class="anchor" href="#macos"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;This is tab &lt;strong&gt;MacOS&lt;/strong&gt; content.&lt;/p&gt;
&lt;p&gt;Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat
stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa
protulit, sed sed aere valvis inhaesuro Pallas animam: qui &lt;em&gt;quid&lt;/em&gt;, ignes.
Miseratus fonte Ditis conubia.&lt;/p&gt;</description></item><item><title/><link>https://docs.asrafuli.com/docs/example/tests/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.asrafuli.com/docs/example/tests/</guid><description>&lt;!-- raw HTML omitted --&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;h2 id="asciinema"&gt;Asciinema&lt;a class="anchor" href="#asciinema"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h2 id="badge"&gt;Badge&lt;a class="anchor" href="#badge"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;!-- raw HTML omitted --&gt;&lt;!-- raw HTML omitted --&gt;Title&lt;!-- raw HTML omitted --&gt;&lt;!-- raw HTML omitted --&gt;Value&lt;!-- raw HTML omitted --&gt;&lt;!-- raw HTML omitted --&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h2 id="button"&gt;Button&lt;a class="anchor" href="#button"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;!-- raw HTML omitted --&gt;A Button&lt;!-- raw HTML omitted --&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h2 id="card"&gt;Card&lt;a class="anchor" href="#card"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;p&gt;&lt;strong&gt;Markdown&lt;/strong&gt;&lt;br&gt;
Suspendisse sed congue orci, eu congue metus. Nullam feugiat urna massa.&lt;/p&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h2 id="details"&gt;Details&lt;a class="anchor" href="#details"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;h2 id="markdown-content"&gt;Markdown content&lt;a class="anchor" href="#markdown-content"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Lorem markdownum insigne&amp;hellip;&lt;/p&gt;</description></item><item><title>Installation</title><link>https://docs.asrafuli.com/docs/openclaw/setup/installation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.asrafuli.com/docs/openclaw/setup/installation/</guid><description>&lt;h1 id="openclaw-setup-on-ubuntu"&gt;OpenClaw Setup on Ubuntu&lt;a class="anchor" href="#openclaw-setup-on-ubuntu"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;This guide covers the simplest supported way to install OpenClaw on Ubuntu.&lt;/p&gt;
&lt;h2 id="recommended-ubuntu-versions"&gt;Recommended Ubuntu versions&lt;a class="anchor" href="#recommended-ubuntu-versions"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Ubuntu 22.04 LTS&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A clean Ubuntu LTS install is preferred.&lt;/p&gt;
&lt;h2 id="requirements"&gt;Requirements&lt;a class="anchor" href="#requirements"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Internet access&lt;/li&gt;
&lt;li&gt;A user account with &lt;code&gt;sudo&lt;/code&gt; access&lt;/li&gt;
&lt;li&gt;&lt;code&gt;curl&lt;/code&gt; installed&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;OpenClaw requires Node 24 (recommended) or Node 22.14+, but the installer handles Node automatically.&lt;/p&gt;
&lt;h2 id="option-1-recommended-installer-script"&gt;Option 1: Recommended installer script&lt;a class="anchor" href="#option-1-recommended-installer-script"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Run:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl -fsSL https://openclaw.ai/install.sh | bash&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;What this does:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Detects your OS&lt;/li&gt;
&lt;li&gt;Installs Node if needed&lt;/li&gt;
&lt;li&gt;Installs OpenClaw&lt;/li&gt;
&lt;li&gt;Launches onboarding&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you want to install without starting onboarding immediately:&lt;/p&gt;</description></item><item><title>KaTeX</title><link>https://docs.asrafuli.com/docs/example/katex/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.asrafuli.com/docs/example/katex/</guid><description>&lt;h1 id="katex"&gt;KaTeX&lt;a class="anchor" href="#katex"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;KaTeX shortcode let you render math typesetting in markdown document. See &lt;a href="https://katex.org/"&gt;KaTeX&lt;/a&gt;&lt;/p&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;p&gt;&lt;strong&gt;Override KaTeX initialization config&lt;/strong&gt;&lt;br&gt;
To override the &lt;a href="https://katex.org/docs/options.html"&gt;initialization config&lt;/a&gt; for KaTeX,
create a &lt;code&gt;katex.json&lt;/code&gt; file in your &lt;code&gt;assets&lt;/code&gt; folder!&lt;/p&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;h1 id="example"&gt;Example&lt;a class="anchor" href="#example"&gt;#&lt;/a&gt;&lt;/h1&gt;

&lt;h2 id="activation"&gt;Activation&lt;a class="anchor" href="#activation"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;KaTeX is activated on the page by first use of the shortcode or render block. you can force activation with empty &lt;code&gt;{{&amp;lt; katex /&amp;gt;}}&lt;/code&gt; and use delimiters defined in configuration in &lt;code&gt;assets/katex.json&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Showcases</title><link>https://docs.asrafuli.com/docs/example/showcases/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.asrafuli.com/docs/example/showcases/</guid><description>&lt;!-- raw HTML omitted --&gt;
&lt;h1 id="at-the-moment-this-page-is-empty"&gt;At the moment this page is empty&lt;a class="anchor" href="#at-the-moment-this-page-is-empty"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;!-- raw HTML omitted --&gt;</description></item></channel></rss>