AgentEd
Your visual Markdown editor, with frontmatter and token estimates. Write notes, project briefs, AI instructions and knowledge files, and keep them in your own folders. Free and open source.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Free, privacy-friendly text utilities built with Next.js (App Router), TypeScript, and Tailwind CSS. All processing runs locally in the browser — no text is ever sent to a server.
| Tool | URL |
|---|---|
| Word Counter | /tools/word-counter |
| Character Counter | /tools/character-counter |
| Sentence & Paragraph Counter | /tools/sentence-counter |
| Reading Time Calculator | /tools/reading-time-calculator |
| Case Converter | /tools/case-converter |
| Title Case Converter | /tools/title-case-converter |
| Remove Duplicate Lines | /tools/remove-duplicate-lines |
| Remove Extra Spaces | /tools/remove-extra-spaces |
| Text to Slug | /tools/text-to-slug |
| Lorem Ipsum Generator | /tools/lorem-ipsum-generator |
npm install
cp env.example .env.local # then edit values
npm run dev # http://localhost:3000
Note:
.npmrcpoints atregistry.npmmirror.combecauseregistry.npmjs.orgwas unreachable/extremely slow from this network. Delete that file to use the default registry.
| Command | Purpose |
|---|---|
npm run dev | Start the dev server |
npm run build | Production build |
npm start | Serve the production build |
npm run lint | ESLint |
npm run typecheck | tsc --noEmit |
npm test | Unit tests (Vitest) for all text functions |
npm run test:e2e | Playwright end-to-end tests (desktop/tablet/mobile) |
E2E tests need browsers once: npx playwright install chromium.
See env.example. In production (Vercel project settings → Environment
Variables):
| Variable | Required | Purpose |
|---|---|---|
NEXT_PUBLIC_SITE_URL | Yes | Canonical origin for metadata, sitemap, robots |
NEXT_PUBLIC_CONTACT_EMAIL | Yes | Shown on contact page / privacy policy |
NEXT_PUBLIC_ADSENSE_CLIENT | After approval | ca-pub-* publisher ID — gates ALL ad code |
NEXT_PUBLIC_ADSENSE_SLOT_* | After approval | Ad unit slot IDs per placement |
No ad code is emitted unless NEXT_PUBLIC_ADSENSE_CLIENT is a real
ca-pub- ID, so the site ships "ads off" by default.
NEXT_PUBLIC_ADSENSE_CLIENT to your ca-pub-* ID and redeploy —
this activates the loader script and generates /ads.txt with the
matching publisher ID automatically.NEXT_PUBLIC_ADSENSE_SLOT_* env
vars; redeploy. (Or enable "Auto ads" in the AdSense dashboard and skip
slot IDs entirely.)NEXT_PUBLIC_SITE_URL and NEXT_PUBLIC_CONTACT_EMAIL.https://<domain>/sitemap.xml and /robots.txt, then
submit the domain in Google Search Console.src/
app/ # routes: /, /tools/[slug], legal pages, sitemap,
# robots, manifest, icon, opengraph-image
components/ # header, footer, cards, ad slot, shared tool page
components/tools/ # per-tool client components + shared UI
lib/text/ # pure text-processing functions (unit-tested)
lib/tools.ts # tool registry: slugs, copy, FAQs, related links
e2e/ # Playwright specs