Tavotto
AI drew your research figure. Tavotto makes it publication-ready: edit matplotlib figures on a canvas, lay out in mm, check journal rules. Free, open source.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证A frame editor using the Protokuda CSS library.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Protokuda Studio
Lay out Protokuda screens and make themes for them, then export
them as HTML, CSS and theme files.
Two tools in one app; switch between them with the tabs at the top. Each keeps its work while you switch.
Themes you save to your library in the themer show up in the designer's theme pickers.查看完整 README ↗Lay out Protokuda screens and make themes for them, then export them as HTML, CSS and theme files.
Two tools in one app; switch between them with the tabs at the top. Each keeps its work while you switch. Themes you save to your library in the themer show up in the designer's theme pickers.
Install it from the browser (the install icon in the address bar, or Share → Add to Home Screen on
an iPad) to get it as an app that works offline. Installed on a computer, it can open designs (.json)
and themes (.css) from your file manager with "Open with". On a tablet in portrait, the designer puts its
inspector under the canvas. When a new version is out, an Update button appears in
the toolbar; your autosaved work carries over.
Open Protokuda Studio (or go straight to the designer or the themer). It replaces Protokuda Designer and Protokuda Themer, whose old addresses redirect here; work autosaved in either carries over.
A Protokuda screen is a CSS grid of frames. The designer edits that grid directly: set the column and row
sizes, draw frames across cells, pick each frame's type, modifiers and theme, and see the result rendered
with the real protokuda.css. The export is plain HTML plus a layout.css built on
grid-template-areas, with no inline styles and no JavaScript.
1fr, 200px, 14rem, auto, minmax(8rem, 1fr)) in the rulers along the
top and left, or as whole templates in the Page panel. + inserts a track, × removes one. Drag the
lines between tracks to resize them; fr tracks stay fractions and rem tracks stay rems.Frames hold placeholders only: titles, labels, sidebar buttons and status text. Your real content goes in
each frame's empty pk-content element after export.
<title>-v<version>.json. In Chrome and Edge on a computer, Save writes
back to the file you opened until you change the title or version, which saves a new file; other browsers
download it. The designer also autosaves to the browser's local storage, so a reload picks up where you
left off. A saved design carries copies of the library
themes it uses; opening it adds any your library doesn't have (where both have a theme by that name,
yours wins).<title>-v<version>.zip containing
index.html: a <main class="pk-screen"> with one element per frame, id set to its area name.
It links the Antonio font, Protokuda from jsDelivr pinned to the exact version the designer uses (so it
looks like the preview), and layout.css.layout.css: the page tokens, the grid tracks and areas, and one grid-area rule per frame.<name>.css for each library theme the design uses, linked from index.html.The design version is a plain counter: press Next version in the Page panel when you want a new one.
It goes into the filenames and a <meta name="version"> in the exported HTML.
A Protokuda theme is a set of --pk-* custom properties. The themer edits them against a sample screen
rendered with the real protokuda.css, checks the pairs that sit on each other for WCAG AA contrast, and
exports a theme file that drops in beside the library.
.css: a file from
protokuda/dist/themes/, a library source file from src/themes/, or one exported from here.--pk-secondary-light), or a
custom hex color. --pk-on-backdrop can stay unset, in which case titles and labels follow --pk-primary.<name>-v<version>.zip containing
<name>.css: link it after protokuda.css to theme the page; it also defines .pk-theme-<name>
for theming a single frame or section. Its header comment holds the label, the theme version and the
Protokuda version it was made for; Open reads the label and version back.README.md: how to use the theme, with Protokuda links pinned to that version.src/themes/<name>.css form, for adding it to Protokuda.npm install
npm run dev # http://localhost:5173
npm test # vitest
npm run check # svelte-check: types (JSDoc) and Svelte diagnostics
npm run build # static site in dist/
npm run preview # serve dist/; the service worker (offline, updates) only runs in a build
npm run icons # re-render the PNG icons from public/favicon.svg (needs rsvg-convert)
Svelte 5 and Vite, with vite-plugin-pwa for the service worker and manifest. The Protokuda version, palette and built-in themes come from the installed protokuda
package at build time, so updating it is just npm install protokuda@latest; the previews and the exports'
CDN links follow.
src/App.svelte and src/shared/: the shell, the tool tabs, the toolbar, undo history, files, and in
src/shared/theme/ the theme model both tools use.src/designer/ and src/themer/: each tool; neither imports the other. Their lib/ folders hold the parts with no DOM (models,
validation, export, color and contrast), and these have the tests; components/ holds the UI.CLAUDE.md: the design decisions and a Protokuda class/token reference.npm version minor # or patch / major
git push --follow-tags
Every push runs .github/workflows/ci.yml (type-check, tests, build). Pushing a v* tag runs
.github/workflows/deploy.yml, which does the same and deploys to GitHub Pages.
It can also be run by hand from the Actions tab.
MIT. See LICENSE.