Repository navigation
Releases: QingYunA/answer-me-with-html
Release list
v0.5.3
Theme catalog
Themes now have a home: answer-me-with-html.com/themes. Each theme has its own page with a live preview in light and dark.
am theme add comic --use
am theme add <name>downloads a theme from the catalog, checks its size, sha256, colors and contents, and saves it.--usealso makes it your default theme.am theme list,am theme updateandam theme remove.updatenever overwrites a theme file you edited.- Only catalog names are accepted, never a URL. A theme may not load anything from the network, so pages keep working offline.
- The first three themes: comic, manga and pop. Their headings use the Bangers font, which the page carries inside itself.
- On an older version, the theme page shows a one-line manual install.
Themes can restyle diagrams
New optional diagram tokens let a theme change nodes, edges, sequence actors, notes, highlights and shadows: fill, stroke, line width, corner radius and hard shadows. Every token defaults to the current look, so built-in themes are unchanged. See "Diagram tokens" in the reference.
Replies
- The Reply sheet shows your reply laid out instead of raw Markdown, and a bar at the bottom of the page counts your answers and copies the reply in one click (#225).
close_after_reply: the page closes its tab after you copy the reply (#220).- A copy that fails now says so instead of "Copied" (#227).
Fixes
- DeepSeek Harness: an
index.jsentry for dsh-plugin-hub 1.6.6 and older (#226).
Full list: #220, #224, #225, #226, #227, #229, #232, #236, #237.
主题库
主题有了自己的地方:answer-me-with-html.com/zh/themes。每个主题都有单独的页面,可以实时预览亮色和暗色。
am theme add comic --use
am theme add <名字>从主题库下载主题,核对大小、sha256、配色和内容后保存。加--use会同时设成默认主题。- 另有
am theme list、am theme update和am theme remove。update不会覆盖你改过的主题文件。 - 只接受主题库里的名字,不接受网址。主题不能从网上加载任何东西,所以页面离线也能正常打开。
- 首批三个主题:comic(漫画)、manga(日漫)、pop(波普)。标题用 Bangers 字体,字体内嵌在页面里。
- 旧版本在主题页上可以看到一行手动安装命令。
主题可以改图表了
新增一组可选的图表变量,主题可以改节点、连线、时序图的参与者、注释框、高亮和阴影:底色、线色、线宽、圆角和硬阴影。每个变量的默认值都是现在的样子,内置主题的外观不变。详见参考文档的"图表变量"一节。
回复
- 回复面板直接显示排好版的回复,不再是 Markdown 原文。页面底部多了一栏,统计你的作答,一键复制回复(#225)。
close_after_reply:复制回复后自动关闭页面标签(#220)。- 复制失败时会如实提示,不再显示"已复制"(#227)。
修复
- DeepSeek Harness:为 dsh-plugin-hub 1.6.6 及更早版本提供
index.js入口(#226)。
v0.5.2
Highlights
- DeepSeek Harness plugin (#199, #200). Install with
dsh plugin --profile <profile> add github:QingYunA/answer-me-with-html, using the profile you run in (webis the shipped one). The package declares adsh.bundlepatch that mounts its ownskills/directory as a skill provider, so nothing is copied into~/.dsh/skills. - The update command for DSH installs (#198). The update hint and the new-version popover give the exact
dsh plugin --profile <profile> up <package>command for an install inside a DSH profile. - A refined logo (#195).
Fixes
- Remark mode: a mark on a horizontal timeline item now has the same key at every window width. Before, a mark made in a wide panel was missing in a narrow one and left out of the Reply (#197).
- CI now runs every browser test file in the video job (#192).
Docs
- The READMEs and the website list DeepSeek Harness among the install options (#202). INSTALL.md has a DSH section.
- The website footer links the Discord server (#201).
Update
- Plugin:
claude plugin update answer-me-with-html@answer-me-with-html - Skill:
npx skills update answer-me-with-html -y - DeepSeek Harness:
dsh plugin --profile <profile> up answer-me-with-html
Full changelog: v0.5.1...v0.5.2
v0.5.1
Highlights
- Math in prose (#178).
$…$is inline math, and$$on its own line before and after the TeX makes a block. Temml typesets it into MathML when the page is made, so the page loads no script, no CDN and no fonts from the network. Bad TeX shows in red with anL<line> [math]warning. A Remark or a Reply quotes a formula as the TeX the draft wrote (#185), and the website playground typesets math too (#182). - Remark mode (#136). A Remark button joins the toolbar. Click a heading, paragraph, list item, quote, code block or table, tag it as a suggestion, keep, question or concern, and add a note. The Reply button carries the marks back to the agent in a
## Remarkssection, together with the answers and the panel comments. - Share pages with other devices (#168).
am serve --lanlistens on your LAN IPv4 address, and--public-urlprints links under a reverse proxy or tunnel origin. Both are opt-in, andam servestays loopback-only by default. - New-version notice on the page (#188, #190). When the weekly check finds a newer version, each page you make has a "New version" button in the toolbar. It opens the update command for your install, with a copy button, and up to three highlights of the new version in the page language. The page itself makes no network request, and
am serveremoves the button from pages it sends to other devices. You'll see it from the release after this one. - The colophon line moved to the top of the page (#186), above the title, where readers see it.
- Right-to-left videos (#173). Hebrew and other right-to-left video pages lay out right to left, while the player controls stay left to right. The title block and the scene headers read their labels from the language file (#174).
Fixes
- A page with STE, code or math warnings no longer opens by itself, and
am render --replace <page>replaces the earlier attempt once the new page is written, so one answer leaves one page (#166). - Test fixes for the planner timing guard and the print layout check (#170, #164), and for the math Reply check after the colophon moved (#189).
Docs
- The README links the Discord server and the QQ group (#181).
Update
- Plugin:
claude plugin update answer-me-with-html@answer-me-with-html - Skill:
npx skills update answer-me-with-html -y
Full changelog: v0.5.0...v0.5.1
v0.5.0
Highlights
ercomponent for entity relationship diagrams (#140). Write entities with their fields (name [type] [PK|FK|UK]) and relationships such asUser 1--* Order: places.FK -> Entitydraws the relationship it implies, and each end shows its cardinality (one, zero or many).- Change markers in
er(#157).+,-and~now work on entities, fields and relationships, as they do inflowandtree. One diagram shows what a schema change adds, removes and changes, with the Before / Changes / After switch. - Right-to-left pages (#133). Hebrew, Arabic, Persian, Urdu and Yiddish drafts render right to left. Diagrams mirror (
flow,sequence,timeline,tree,limits), Hebrew gets its own labels, and code, paths and numbers stay left to right. am serve(#146). Open pages from a remote or headless machine over an SSH tunnel.am servelistens on127.0.0.1, andrender,patchandvideoprint a private link for each page.- Video player: chapters, speed and export without ffmpeg (#143). A chapter strip jumps between scenes, a speed button goes from 0.5x to 2x, and
--mp4writes a WebM made by the page itself when ffmpeg is not installed. - Star link in the page footer (#160). The footer now ends with
★ Star on GitHub. It is plain text with no badge image, so pages stay offline-safe. - Website at https://answer-me-with-html.com (#128). The old github.io address redirects there.
Fixes
- The data directory is private to you (#156).
~/.answer-me-with-html/is now created with mode0700, and existing installs are tightened. Before, other users on a shared host could read your pages from disk. - Video narration uses a voice for the language of each line, picked from the voices installed on the machine (#142). A line with no matching voice keeps its captions instead of being read by a voice for another language.
- The video duration estimate counts words in Cyrillic, Arabic, Greek, Hebrew and Thai (#138).
- Flow group names move clear of edges, edge labels and nodes (#148).
- Table words stay whole in narrow sheet panels and in print (#149).
- A horizontal timeline turns vertical on a phone (#135) and in any panel narrower than 560 px (#153).
Docs
- A PR now needs an issue that a maintainer accepted first (#144).
- The website benchmark matches the README numbers (#139).
- The Chinese README has The New 100 badge (#154).
Update
- Plugin:
claude plugin update answer-me-with-html@answer-me-with-html - Skill:
npx skills update answer-me-with-html -y
Full changelog: v0.4.15...v0.5.0
v0.4.15
Highlights
- Change markers in
flowandtree(#125). Start a line with+,-or~to show what a plan adds, removes or changes. The page draws one diagram in a Changes view, with a Before / Changes / After switch and a count row. Pages without markers are byte-identical. - Project website (#126): https://qingyuna.github.io/answer-me-with-html/ (Chinese at
/zh/). Its playground runs the real renderer in your browser. - A lighter
SKILL.md(#127). The settings and video instructions moved toreferences/, and the agent reads them only when you change settings or ask for a video.SKILL.mddrops from 19.5 KB to 16.2 KB, so each first page in a session costs less to load. Page answers are unchanged.
Fixes
- The diagram expand button sits on its own row and no longer covers the drawing (#124).
- The MP4 export test gives Chrome more time to start, so CI stops failing on slow runners (#132).
Docs
- The README token claim now comes from a fixed corpus: hand-written HTML averages 4,893 tokens and the Markdown draft 612, about 1/8. The README also explains why the bill drops less than the tokens (#127).
- A comparison with Archify and dsh-genui: docs/compare.md (#127).
- Jump links at the top of the README; details moved to the reference (#130, #131).
Update
- Plugin:
claude plugin update answer-me-with-html@answer-me-with-html - Skill:
npx skills update answer-me-with-html -y
Full changelog: v0.4.14...v0.4.15
v0.4.14
Highlights
- Diff code blocks (#120). A
```difffence now draws a unified diff: red and green lines, old and new line numbers from the@@headers, and a+N −Nstat in the header.file=,title=or the+++ b/pathline names the file, andhl=uses new-side numbers. A hunk whose counts don't match its@@header gets a[diff-counts]warning. - Diagram text wraps by script (#112). Korean breaks at its spaces instead of inside a word. Thai, Lao, Khmer and Myanmar, which write no space between words, wrap by dictionary word, so a long label no longer pushes a node wider than its budget. Chinese, Japanese and English diagrams are unchanged. Thanks @SU-AN-coder.
Fixes
- The writing check counts words in Lao, Khmer and Myanmar sentences with the same word segmenter as Thai. Lao sentences used to miss the length warning, and Khmer and Myanmar sentences got false ones (#117). Thanks @SU-AN-coder.
am lintnow follows the draft language, asam renderandam videodo. A Thai draft gets the same warnings from both, and a French draft no longer gets the English rules (#119). Thanks @SU-AN-coder.
Update
- Plugin:
claude plugin update answer-me-with-html@answer-me-with-html - Skill:
npx skills update answer-me-with-html -y
Full changelog: v0.4.13...v0.4.14
v0.4.13
Highlights
- Answer on the page (#100). An
askblock puts a decision in the panel it changes, with the agent's suggestion selected. Every panel gets a comment button and every page a Reply button, which copies one message with the reader's answers and comments to paste back to the agent. Answers survive a reload. - Code blocks that quote real files (#99).
```ts src=server/routes.ts lines=18-30 hl=22reads the lines from the file, so the model types no code. Blocks get line numbers, highlighted lines and a Copy button. Key files (.env,*.pem,.ssh/…) and files that hold a token are never quoted, and the render lists every file it embedded. - Local images as captioned figures (#95). An image alone on its line,
, becomes a figure with the alt text as caption, embedded in the page so it still opens offline. A missing, non-image or oversize (> 5 MB) file stops the render at its line. Paths with spaces work (#106). - Diagram viewer (#57, #109). Each flow and sequence diagram has an expand button that opens it in a lightbox with zoom and pan. Its labels follow the page language. Thanks @Cham1229.
- Placeholders stay visible (#110).
ssh user@<host>orkill <pid>used to lose the words, and a<script>or<style>in prose swallowed the rest of the page. Raw HTML in a draft is now filtered: unknown and page-breaking tags show as text, deliberate markup (<kbd>,<br>,<details>…) stays, and kept tags lose event handlers andjavascript:links. The render lists every tag it changed. Thanks @SU-AN-coder, who found it in #108.
Fixes
- A page served inside another document (claude.ai Artifacts) gets its theme, mode and language back (#104). Thanks @enzo-wego.
- A status word in a table cell may be followed by inline code, bold or a link and still becomes a badge (#101).
- Image-like text is checked only where Markdown is read, so
in a tree label, a rawhtmlblock or diagram text no longer fails the render (#107).
Notes
- Every page now has a Reply button in the toolbar and a comment icon in each panel title bar, and its footer links to this repository (#94). Pages made with earlier versions keep their old look until you render them again.
- A draft that relied on a non-text-level tag inside a sentence, an unknown tag or an event handler now gets text and an
[html]warning instead. - The README has a section on making the skill less proactive (#93) and a plain-text vs page comparison image (#94).
Update
- Plugin:
claude plugin update answer-me-with-html@answer-me-with-html - Skill:
npx skills update answer-me-with-html -y
Full changelog: v0.4.12...v0.4.13
v0.4.12
Highlights
- Traditional Chinese (#89). A draft with
lang: zh-TW,zh-Hant,zh-HKorzh-MOgets Traditional page buttons, theme names and video player labels, and Traditional fonts in front of the Simplified ones, so systems whose default Chinese font is Simplified still draw Traditional glyphs. A draft that does not say is recognized by characters written in only one form; text made of shared characters stays Simplified. - One place decides the language (#88).
lang: zh-twused to give<html lang="en">with Chinese labels, andlang: frgave Chinese labels too. A tag is now written as declared (zh-twandzh_TWbecomezh-TW), a barezhstill giveszh-CN, and a language without its own labels gets English labels with its ownlang. A language is now one file insrc/languages/. - More languages detected (#90). Korean, Russian, Arabic, Hebrew, Thai and Greek drafts get their own
langinstead ofzh-CN. Latin-script text is still English, so declarelang: fr(ores,ptand so on) for those. am patchkeeps the language of the page (#90), so patching a panel with plain text no longer flips a Traditional Chinese page to Simplified.- The writing check follows the language (#90). A language other than Chinese, English and Japanese gets only the length rules: sentences in words (characters for CJK text), paragraphs in sentences. The English passive-voice rule and the word lists no longer run on it.
- Narration follows the language (#90). A declared language applies to every line; otherwise each line is read in the language of its own text. Traditional Chinese lines use the Chinese voice.
- The README now recommends always-on mode (#83).
Notes
- The CSS inside every page changed: font rules use
:lang()ranges, and there are Traditional Chinese rules. Pages made with earlier versions keep their old CSS until you render them again.ja-JPpages now get the Japanese fonts too (the old rule matched onlyja). - The system-voice cache (macOS
say,espeak-ng) is rebuilt once, because the language is now part of its key. ElevenLabs and a local server keep their cache keys, so nothing already paid for is synthesized again. - Arabic script also writes Persian and Urdu, and Cyrillic also Ukrainian: without
lang:those drafts are taggedarandru. - Traditional Chinese glyphs are checked in Chrome and WebKit on macOS (
zh-TWandzh-Hantdraw the same glyphs, and a named Simplified font does not override the language). Firefox and Windows are not checked yet. - Not in this release, tracked separately: wrapping Korean and Thai text in diagrams (#85), picking narration voices by locale (#86), right-to-left layout (#87).
Update
- Plugin:
claude plugin update answer-me-with-html@answer-me-with-html - Skill:
npx skills update answer-me-with-html -y
Full changelog: v0.4.11...v0.4.12
v0.4.11
Highlights
- One plugin instead of two (#81). The separate
answer-me-with-html-alwaysplugin is removed. Always-on mode is now one rule that you paste into~/.claude/CLAUDE.mdorAGENTS.md; delete the rule to turn it off. The skill still recognizes the[answer-me-with-html always-on]marker, so the behavior is the same. The README has the rule, and the Install section now points to it. - Fewer flaky Chrome tests (#80). The Chrome tests fail less often, and say why when they do.
Notes
- If you installed
answer-me-with-html-always: your copy keeps adding the reminder until you remove it. Run/plugin uninstall answer-me-with-html-always@answer-me-with-html, then paste the rule from the README ("Always-on mode") if you still want it. - The
alwayssetting is gone fromam config. An oldconfig.jsonthat still has it is ignored, so nothing breaks. - Pages and videos are unchanged: a snapshot of 432 render, video and patch combinations shows no difference from 0.4.10.
Update
- Plugin:
claude plugin update answer-me-with-html@answer-me-with-html - Skill:
npx skills update answer-me-with-html -y
Full changelog: v0.4.10...v0.4.11
v0.4.10
Highlights
- The skill triggers more often (#77). The description now asks the agent to use it whenever a page would help more than plain text, even if text would also work. It names the shapes that did not trigger before: state machines, diagnoses, review findings, trade-offs and decisions, and any answer with a table or a ranked list. In a local test of 19 prompts the skill loaded in about 73% of runs, up from 54%; small talk and "plain text only" still do not trigger. It will now also trigger on some short answers.
- Themes. A theme file in
<AM_HOME>/themes/<name>.jsonis picked like a built-in theme, andam theme checkreports missing variables, invalid colors and low contrast (#68). A newpapertheme has serif prose for reading (#71). The new defaulttheme: autopickspaperfor the doc template or a draft with no component block, andblueprintotherwise. A theme set in config still wins. The toolbar uses drop-down lists for theme and mode. Built-in themes are now defined in one place each (#67). - Chinese writing check (#20, thanks @mzopedia): a short word list for typos (登陆 → 登录), vague quantities (尽快, 若干), 以上 / 以下 / 以内 after a number, and one-meaning-one-word choices (单击 → 点击). Warnings only; Japanese is skipped.
- Easier to install.
INSTALL.mdis a guide written for AI agents: it installs the plugin in Claude Code and the skill in other agents, keeps an existing install, asks nothing, and ends with one report. The one-prompt install in the README now points to it, and the install smoke test runs its commands (#72). - Links that open. The reply ends with a
file://Markdown link, so GUI hosts such as Codex and Antigravity show a clickable link (#76). The page is rendered before the reply, so the turn ends with text (#75).
Notes
- Pages made with earlier versions keep their look until you render them again.
- The default theme can change: a doc-template page, or a draft with no component block (
flow,sequence,calloutand so on) or raw html / svg, now getspaper. A Markdown table alone is not a component block. Setam config set theme blueprintto keep the old look. - The slash command for settings depends on how you installed:
/answer-me-with-html:configfor the plugin,/answer-me-with-html configfor the skill (#70).
Update
- Plugin:
claude plugin update answer-me-with-html@answer-me-with-html - Skill:
npx skills update answer-me-with-html -y
Full changelog: v0.4.9...v0.4.10