<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Banyan</title><link>https://banyan.swaw.com/</link><description>Recent content on Banyan</description><generator>Hugo</generator><language>en</language><lastBuildDate>Tue, 20 Oct 2026 00:00:00 +0800</lastBuildDate><atom:link href="https://banyan.swaw.com/index.xml" rel="self" type="application/rss+xml"/><item><title>Content - All</title><link>https://banyan.swaw.com/all/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://banyan.swaw.com/all/</guid><description/></item><item><title>Unreleased</title><link>https://banyan.swaw.com/changelog/unreleased/</link><pubDate>Tue, 20 Oct 2026 00:00:00 +0800</pubDate><guid>https://banyan.swaw.com/changelog/unreleased/</guid><description>&lt;h2 id="added"&gt;Added&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Chinese guides and developer documentation at &lt;code&gt;https://banyan.swaw.com/&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Hugo Module at &lt;code&gt;github.com/SwawHQ/banyan/module&lt;/code&gt;, with matching
&lt;code&gt;swaw-banyan&lt;/code&gt; Skill versions. &lt;code&gt;doctor [directory]&lt;/code&gt; checks Module and
theme-directory versions, vendored dependencies and local development.
Local theme versions come from &lt;code&gt;theme.toml&lt;/code&gt;. Doctor also checks selected tools
and runtime launchers, including a damaged launcher or bindings file, and provides
manual recovery steps. Ordinary tasks do not check pairing. Check switches and
repair hints are maintained in &lt;code&gt;references/doctor.toml&lt;/code&gt;. Extracted project ZIPs pair their built-in
Skill and Module using &lt;code&gt;module/theme.toml&lt;/code&gt;, without a &lt;code&gt;.git&lt;/code&gt; directory.
Recovery messages include the project URL,
theme source ZIP and Module version commands.&lt;/li&gt;
&lt;li&gt;Windows x64 CLI with Node/npm, Git, Go, Hugo and optional Bun and GitHub CLI.
uv and Python 3.13 support isolated Python scripts and CLI packages in the Skill,
including sites that already use uv. The system PATH and Python registry stay unchanged.
Portable downloads are checksum-verified. npm prepares parser packages
on demand for &lt;code&gt;sync/ext&lt;/code&gt; and content checks, isolated from parent workspaces;
site builds need no npm dependencies.&lt;/li&gt;
&lt;li&gt;Name and product list views with shared column navigation and sorting.
Site-owned taxonomies define product classifications.&lt;/li&gt;
&lt;li&gt;Powered by page with the effective theme and Hugo versions, site build
details, and PWA status and update checks.&lt;/li&gt;
&lt;li&gt;Versioned release notes in the demo site&amp;rsquo;s &lt;code&gt;content/changelog/&lt;/code&gt;.
&lt;code&gt;params.theme_changelog&lt;/code&gt; sets the Powered by release-notes URL.&lt;/li&gt;
&lt;li&gt;Browser checks for navigation, layout, language settings, images, prefetch
and PWA, with Chromium and selected WebKit checks. &lt;code&gt;check/browser/site&lt;/code&gt;
discovers representative pages and reports skipped coverage.&lt;/li&gt;
&lt;li&gt;Static and HTTP checks for content, HTML, sitemap, robots, LLMS, images,
CSP, SRI, cache headers and prefetch, plus asset-size and payload reports.
HTML checks also validate article date rows, path order, aside controllers
and static update controls.
&lt;code&gt;check/delivery&lt;/code&gt; checks generated platform formats, fingerprint policy agreement
and published file names without reading resource bodies. Use &lt;code&gt;--base-path&lt;/code&gt;
for subdirectory deployments; URL path characters and EdgeOne host redirects
retain their platform syntax.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sync/ext&lt;/code&gt; for declared external resources and &lt;code&gt;deploy/edgeone/sync&lt;/code&gt;
for generated deployment configuration.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;deploy/cloudflare/cli&lt;/code&gt; and &lt;code&gt;deploy/cloudflare/wrangler&lt;/code&gt; run pinned Cloudflare
CLIs with native arguments. Each has &lt;code&gt;ensure [--force]&lt;/code&gt; and a local &lt;code&gt;check&lt;/code&gt;;
normal commands prepare packages as needed. Authentication uses each CLI&amp;rsquo;s
native per-user credentials or a shared API Token in Windows Credential Manager.
Native configuration, sign-in credentials and storage remain CLI-managed;
compatible sign-in from system installations can be reused.
&lt;code&gt;auth/token/check&lt;/code&gt; also finds manually added credentials.
Resource names and explicit boolean flag values no longer change credential selection.
&lt;code&gt;auth whoami&lt;/code&gt; uses the same credential priority as resource commands.
cf and Wrangler commands, including page sign-in and status checks, use fixed
&lt;code&gt;%TEMP%/swaw/banyan/cf/&lt;/code&gt; and &lt;code&gt;%TEMP%/swaw/banyan/wrangler/&lt;/code&gt; directories.
The directories and caches persist. Local paths use these directories;
use absolute local paths. For a project, pass Wrangler&amp;rsquo;s native &lt;code&gt;--cwd&lt;/code&gt;
with an absolute project path.
cf resource-management commands use an empty configuration; development and
builds need an actual project configuration.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;deploy/tencent/cli&lt;/code&gt; runs a pinned tccli with automatic uv/Python preparation
in an isolated Skill environment. It provides &lt;code&gt;ensure [--force]&lt;/code&gt; and a local
read-only &lt;code&gt;check&lt;/code&gt;, preserving native Tencent Cloud and EdgeOne commands.
Sign-in and credential refresh require TLS certificate verification.
&lt;code&gt;auth/key/check&lt;/code&gt; returns a nonzero exit code when the local credential is absent.
Configuration and sign-in follow tccli&amp;rsquo;s native rules. The page explains its
plaintext sign-in storage and recommends API keys saved in Windows Credential Manager.
tccli commands, including page sign-in and status checks, use the fixed
&lt;code&gt;%TEMP%/swaw/banyan/tccli/&lt;/code&gt; directory and retain its caches. Use absolute local paths.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;deploy/auth/setup&lt;/code&gt; opens one local authorization page for Cloudflare and Tencent
Cloud. Each platform&amp;rsquo;s &lt;code&gt;auth/setup&lt;/code&gt; entry selects its tab. The page supports
native sign-in, Windows-stored API credentials and read-only environment status,
with credential priority, site icons in their original colors and system-language
text in English or Chinese. A title-bar language switch preserves inputs and
progress; reloading returns to the system language without saving the selection.
Platform navigation and method tabs use a monochrome layout with a thin column divider.
Credential priority sits below the title; Close is in the upper-right corner.
Supplementary notes follow the controls or variable table. Sign-in and API Token
notes use numbered lists for setup, permissions and credential storage.
Sign-in tabs prepare tools in the background, show readiness and support retry,
then check existing cf and Wrangler sign-in and usable tccli native credentials,
including after reload or reopening. tccli uses a native STS identity query
with the same profile as sign-in;
it does not distinguish stored sign-in from keys or check product permissions.
Sign-in buttons show request progress immediately.
API Token setup stays available during downloads and checks; Close stops preparation, checks and sign-in.
The page no longer expires automatically; each CLI keeps its own authorization timeout.
The page avoids browser-blocked ports.
Cancellation still closes the session after a credential write if the save connection disconnects.
Narrow screens stack the columns.
Both platforms use the API Token tab label.
Tencent access keys use &lt;code&gt;swban/tencent/default&lt;/code&gt;; &lt;code&gt;auth/key/check&lt;/code&gt; checks local presence.&lt;/li&gt;
&lt;li&gt;MIT licenses for the repository, Module and Skill, with third-party notices.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="changed"&gt;Changed&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Skill tool commands use &lt;code&gt;base/&amp;lt;tool&amp;gt;&lt;/code&gt;, &lt;code&gt;base/&amp;lt;tool&amp;gt;/check&lt;/code&gt; and
&lt;code&gt;base/&amp;lt;tool&amp;gt;/ensure&lt;/code&gt;. The entry uses Node and prepares Node/npm and required tools
on demand; Bun remains an independent tool. &lt;code&gt;base/ensure&lt;/code&gt; is removed.
Hugo and Go prepare Git as needed. The theme no longer enables unused Git page
information. GitHub CLI is prepared when used.
Run npm and npx with &lt;code&gt;base/node/npm&lt;/code&gt; and &lt;code&gt;base/node/npx&lt;/code&gt;.
Python commands use &lt;code&gt;base/uv/python&lt;/code&gt;, &lt;code&gt;base/uv/python/check&lt;/code&gt; and
&lt;code&gt;base/uv/python/ensure&lt;/code&gt;; common help lists uv as the Python tool manager.
Prepare parser packages with &lt;code&gt;base/packages/ensure&lt;/code&gt; before working offline;
use &lt;code&gt;--force&lt;/code&gt; to reinstall. Doctor reports missing packages without installing them.
Prepare browsers with &lt;code&gt;base/browser/ensure&lt;/code&gt; and &lt;code&gt;base/browser/ensure.webkit&lt;/code&gt;.
&lt;code&gt;help/en [depth|path [depth]]&lt;/code&gt; and &lt;code&gt;help/zh [depth|path [depth]]&lt;/code&gt; list commands
and categories or show full help. Depth can start below a selected path;
lists retain full paths and mark categories with a trailing &lt;code&gt;/&lt;/code&gt;.
With no argument, help shows common commands, including
build, preview and release examples.
&lt;code&gt;help&lt;/code&gt; selects the system language. Invalid help files report their path and
the JSON parse reason or specific field.&lt;/p&gt;</description></item><item><title>A Predictable Content Model</title><link>https://banyan.swaw.com/p/example-note/</link><pubDate>Thu, 01 Jan 2026 00:00:00 +0800</pubDate><guid>https://banyan.swaw.com/p/example-note/</guid><description>&lt;p&gt;This page is intentionally small. It proves that article rendering, metadata,
taxonomy links, and breadcrumb navigation work in a clean consumer site.&lt;/p&gt;
&lt;h2 id="structure-before-decoration"&gt;Structure Before Decoration&lt;/h2&gt;
&lt;p&gt;Banyan derives navigation from real pages and taxonomies. A page declares what
it is, while the theme owns how that structure is presented.&lt;/p&gt;
&lt;p&gt;The article belongs to two independent tag paths. This demonstrates that one
page can appear under both AI and developer tooling without duplicating content.&lt;/p&gt;</description></item></channel></rss>