OnlineFreeTools.org
  • Home
  • Tools
    Health & body →
    BMI Calculator — How to Calculate Body Mass IndexBMR & TDEE Calculator — How to Calculate Daily CaloriesBody Fat Calculator — How to Estimate Body Fat PercentageHeart Rate Zone CalculatorIdeal Weight Calculator — How to Estimate Ideal Body WeightMacro Calculator — Calories to Protein Carb Fat GramsOne-Rep Max Calculator (Epley)Pace Calculator — min/km and Speed
    Personal money →
    CAGR Calculator — How to Calculate Compound Annual Growth RateCompound Interest Calculator — How to Calculate Future ValueDebt Payoff Calculator — Months to Clear a BalanceDiscount Calculator — How to Calculate Sale PriceEMI Calculator — How to Calculate Loan PaymentsInflation Calculator — Future Purchasing PowerPercentage Change Calculator — From Old Value to NewPresent Value Calculator — PV and FV ModesRule of 72 Calculator — Years to DoubleSalary to Hourly Calculator — How to Convert Pay RatesTip Calculator — Tip Amount and SplitVAT / GST Calculator — Add or Extract Tax
    Business finance →
    Break-Even Calculator — How to Calculate Break-Even PointContribution Margin Calculator — Price Minus Variable CostGross Margin Calculator — How to Calculate Gross MarginIRR Calculator — Internal Rate of ReturnHow to Calculate Marginal Revenue — MR Calculator (ΔTR / ΔQ)Markup Calculator — How to Calculate Markup PercentageHow to Calculate NPV — Net Present Value CalculatorPayback Period Calculator — Years to Recover InvestmentProfit Margin Calculator — Net or Operating MarginROI Calculator — How to Calculate Return on Investment
    Math & stats →
    Confidence Interval Calculator — How to Calculate a CIExponent Calculator — How to Calculate PowersGPA Calculator — How to Calculate Weighted GPALogarithm Calculator — How to Calculate LogsMean Calculator — Average of a Number ListMedian and Mode CalculatorP-Value Calculator — How to Calculate a P-ValuePermutation and Combination CalculatorQuadratic Equation Solver — Roots and DiscriminantSample Size Calculator — How to Estimate Required nScientific Notation Calculator — How to Convert Scientific NotationSignificant Figures Calculator — How to Count and Round Sig FigsStandard Deviation Calculator — How to Calculate SD and VarianceZ-Score Calculator — How to Calculate a Standard Score
    Geometry & measure →
    Aspect Ratio Calculator — How to Calculate and Scale RatiosCircle Calculator — Area and CircumferenceGradient Calculator — Multivariable ∇f (Partial Derivatives)Pythagorean Theorem Calculator — How to Find a Missing SideSlope Calculator — How to Calculate Slope Between Two PointsTriangle Area CalculatorVolume Calculator — Box and SphereUnit Converter — Length / Mass / Temperature / Area / Volume / Speed
    Science & physics →
    Acceleration Calculator — Change in VelocityDensity Calculator — Mass over VolumeOhm’s Law Calculator — Resistance and PowerVelocity Calculator — Distance over TimeMeasuring Magnetic Fields — Field strength calculator
    Home & DIY →
    Concrete Calculator — How to Estimate Concrete VolumePaint Calculator — How to Estimate Paint NeededTile Calculator — How to Estimate Tile QuantitySquare Feet to Square Meters — Area Converter for Homes & Renovation
    Time & calendar →
    Age Calculator — Chronological Age from BirthdateDate Difference Calculator — Days and WeeksTime Zone Converter — Compare One Moment WorldwideUnix Timestamp Converter — Epoch ↔ Readable Time
    PDF & docs →
    Batch compress PDFs for emailCompress PDF — Shrink File Size in Your BrowserCrop PDF — Trim Page Margins in Your BrowserMerge PDF — Combine Files in Your BrowserOrganize PDF — Reorder or Remove Pages in Your BrowserAdd Page Numbers to PDF — In Your BrowserPDF Page to Image Sizes — Multi-Size Export PackPDF to JPG — Convert Pages to Images in Your BrowserPDF to Markdown — Extract Text for Notes in Your BrowserPDF Watermark — Stamp Text on Every Page in Your BrowserProtect PDF — Password-Encrypt in Your BrowserRotate PDF — Fix Page Orientation in Your BrowserSplit PDF — Extract Pages LocallyUnlock PDF — Remove Password You Already Know
    Image & media →
    Add Text Watermark to Photo — Local Browser ToolAmazon main image sizeApple-touch-icon 180×180Batch watermark product photosBulk compress PNG imagesBulk compress product photosBulk convert images to JPGBulk convert images to PNGBulk convert images to WebPExtract Colors from Image — Palette & Click PickFlip Image — Mirror Horizontally or VerticallyAdd Border to Image — Color & Width OnlineImage Compressor — Resize, Quality & Target Size LocalCrop & Resize Image — Local Aspect PresetsPhoto EXIF Viewer & Remover — GPS, Camera & Local StripImage Format Converter — PNG JPEG WebP AVIF BMP GIF ICO SVGConvert Image to Grayscale — Black & White OnlineMerge Images — Combine Photos into One CollageImage Optimizer — WebP, AVIF & MozJPEG LocalOverlay Images — Put a Logo on a PhotoImage to Base64 Converter — Encode & Decode LocallyImages to GIF — Make an Animated GIF LocallyImages to PDF — Combine Photos into One FileImages to PowerPoint — Photos to PPTX SlidesImages to Word — Build a DOCX from PhotosInstagram post sizeInstagram story sizeiOS app icon sizeiPhone 6.9 screenshot sizeLinkedIn banner sizeOpen Graph image sizeSVG optimizerYouTube thumbnail size
    Design & brand →
    Generate Brand Color Scale — 50–950 Palette & CSS TokensBrand Style Guide — Generate a Modular Draft You Can EditSmart Website Color Scheme — Semantic CSS TokensWCAG Contrast Checker — AA/AAA Ratio Online
    SEO & growth →
    Check if a URL is blocked by robots.txtCheck SSL certificate expirationCore Web Vitals CheckerFind and validate XML sitemapHreflang GeneratorIndexNow — Bing URL Submit, Key Check & Status CodesGoogle SERP PreviewMeta Tag GeneratorOn-Page SEO CheckerOpen Graph PreviewRobots.txt GeneratorJSON-LD Schema GeneratorXML Sitemap GeneratorSPF DKIM DMARC checkerUTM BuilderValidate security.txt
    Network & IP →
    Add WWW to DNS — A/CNAME, Apex Rules & Provider GuidesAWS VPC CIDR planner — Split a VPC into AZ subnetsCIDR cheat sheet — Click a prefix to see mask and hostsCIDR to IP range — Expand a prefix into usable addressesDomain Lookup — Check DNS Records & Registration OnlineWhat Is My IP Address — See Your Public IP (IPv4 or IPv6)IP range to CIDR — Turn start–end addresses into prefix listsIPv6 CIDR calculator — Expand a prefix into its address rangePrivate CIDR ranges — Check if an IP or prefix is private or special-useTerraform cidrsubnet — Get the child CIDR Terraform would returnCheck HTTP Response Headers
    Dev & data →
    Base64 Encode & Decode — Convert Text in Your BrowserChatGPT export to MarkdownCSV ↔ JSON Converter — Types, Delimiters & Localcurl to fetchHTML Entity Encoder & Decoder — Escape, Unescape & LocalJSON Schema Validator — Draft-07 Paths & LocalJWT Decoder — Read Header & Payload Locally (No Verify)Markdown ↔ HTMLYAML ↔ JSON Converter — Types, Multi-doc & Local
    AI prompt tools →
    Android prompt builder — Local + Optional AIFilm prompt builder — Local + Optional AIiOS prompt builder — Local + Optional AIMidjourney prompt builder — Local + Optional AIProduct design prompt builder — Local + Optional AIPrompt template builder — Local + Optional AIShort drama prompt generator — Local + Optional AISketch.app prompt generator — Local + Optional AIWriting prompt generator — Local + Optional AI
    Text compare →
    Compare two text files onlineCompare two Word documents for differencesExcel compare filesJSON diff checker onlineCheck difference between two texts
    Security & IDs →
    Batch checksum release filesFile Hash Checker — Verify Digests in Your BrowserFile metadata analyzerRandom Password Generator — Create Passwords LocallyUUID & ULID Generator — Create IDs in Your Browser
    Files & archives →
    Archive Extractor Online — Open Compressed Files in Your BrowserCreate zip fileMagnet Link Decoder — Parse Info Hash and Trackers LocallyUnzip File Online — Extract ZIP Files in Your Browser
  • Tool topics
  • Tool types
  • Dev Logs
☕ Buy me a coffee

Navigation

Home

Topic leaf H1 for ai-prompt-template-builder now names prompt builders/generators and every scene; rules and lint block “which X page” titles. | Dev Logs

Back to Logs

Date: 2026-09-02 15:30 Summary: Topic leaf H1 for ai-prompt-template-builder now names prompt builders/generators and every scene; rules and lint block “which X page” titles. Visibility: people

[question] http://localhost:8787/en/topics/ai-prompt-template-builder/ 页面title 机器翻译过于明显,应该把场景都说清楚,另外不是 prompt page,而是prompt builder/generator, 分析产生这样问题的原因,并在规则中避免其他工具和topic的内容生成中出现相同类似的问题

[try to solve]

Context

The English topic leaf at /en/topics/ai-prompt-template-builder/ rendered H1/title as “Writing, Midjourney, or iOS agent: which prompt page”. That reads like a calque of the Chinese “写作、Midjourney,还是 iOS 智能体:选哪张提示词页”: a site-navigation question, a generic “page” product noun, and only three of nine scene tools.

Process

  1. Traced the live string to scripts/site/topic-ig-copy-*.mjs (flattened by build:topic-ig into i18n-topic-ig.mjs, merged last in t() so it overrides the older hub title “AI prompt template builder & generator tools”).
  2. Compared with the same-day topic IG pass (dev-logs/2026-09/2026-09-02-11-17-topic-leaf-ig-decision-tables.md), which instructed “H1 is a decision question” and used an A, B, or C: which X … skeleton across 18 leaves.
  3. Confirmed localization globs did not include topic-ig-copy-*.mjs, so agents writing topic copy were not loaded with tool-i18n-localization.mdc.
  4. Rewrote all ten locale H1s to name builder/generator (local search wording) and list the independent scenes (writing, Midjourney, sketch, film, short drama, product design, Android, iOS). Also fixed the same chrome-noun bug on English/Chinese text-compare (which compare page / 选哪张对比页).
  5. Encoded the failure mode in rules (tool-i18n-localization.mdc, tool-i18n-seo.mdc, seo-html-defaults.mdc, AGENTS.md) and in lint:seo via scripts/lib/topic-title-heuristics.mjs. Regenerated IG i18n, rebuilt topic HTML, gzipped _pages. lint:seo reports Topic leaf title validator: OK.

Root cause / analysis

Three stacked mistakes, not a single bad string:

  1. Wrong H1 template. The topic IG pass treated every leaf H1 as a “which X first” decision question. For BMI vs TDEE that can still name the user’s job. For this cluster it became “which page”—chrome, not a search query. Users look for prompt builder / prompt generator.
  2. Cherry-picked scenes to fit “A, B, or C”. Nine tools (generic template + writing + Midjourney + sketch + film + short drama + product design + Android + iOS) were reduced to Writing / Midjourney / iOS so the title stayed short and parallel. That hides the actual scene set.
  3. Isomorphic translation + missing rule load. English tracks the Chinese “选哪张…页” skeleton (página de prompt, Prompt-Seite, プロンプトページ, Arabic even drifted to صفحة أمر “command page”). Topic copy files were outside localization globs, so the existing “rewrite, don’t translate” rule never fired on this pass.

lint:seo previously had no topic-H1 heuristic, so the bad titles shipped green.

Solution

Live English H1 / <title> (before brand):
AI prompt builders and generators for writing, Midjourney, sketch, film, short drama, product design, Android, and iOS

Chinese and the other eight locales follow the same facts (product type + full scene list) with local wording, not a locked English frame.

Rules (durable): Title/H1 must use the search product type, never page/页 as the product name; scene clusters must name the independent scenes (or a grouping that covers the whole set); topic H1 is not required to be a decision question; do not calque “选哪张 X 页”. AGENTS.md now tells agents to load localization rules when editing /topics copy.

Gate: checkTopicLeafTitle runs in build:topic-ig (before flatten) and validateTopicLeafTitles in lint:seo (on generated keys). Prompt cluster titles must match local builder/generator words and hit at least six of eight scene tokens.

Notes / boundaries

  • Other topic H1s that ask a user-job question (“BMI, TDEE, or macros: which health number first”) were left in place; only chrome-noun titles (prompt page, compare page) were rewritten.
  • Nav short label topic_ai_prompt_template_builder remains “AI prompt tools”.
  • Local wrangler on :8787 did not respond during this pass (probe hung). Disk HTML is updated under public/_pages/{lang}/topics/ai-prompt-template-builder.html; seeing it in the browser needs a healthy start:dev and local R2 seed (upload:r2:local if the bucket still has the old gzip).
  • Did not rewrite remaining “decision question” H1s across all 18 topics; the new rule applies to future tool and topic copy.

[actions]

  • Updated tool-i18n-localization.mdc, tool-i18n-seo.mdc, seo-html-defaults.mdc, project-core.mdc, AGENTS.md, .github/copilot-instructions.md.
  • Added scripts/lib/topic-title-heuristics.mjs and scripts/validate-topic-leaf-titles.mjs; wired into build-topic-ig.mjs and lint:seo.
  • Rewrote prompt-cluster titles in topic-ig-copy-en.mjs / zh / rest locales; English/Chinese text-compare titles; regenerated i18n-topic-ig.mjs; rebuilt and gzipped topic _pages HTML.
OnlineFreeTools.org · Learning project · Iterating
About·Privacy·Terms·Contact·GitHub