@vivekcsein-logo
  • Home
  • About
  • Development

    • Web Development
    • Performance & Optimization
    • Backend & APIs
    • Authentication & Security

    Specialized

    • SEO & Ad Monetization
    • AR Experiences
    • Animation
    • Figma to Code
  • Articles
  • Projects
  • Marketplace
  • Contact
@vivekcsein-logo

A portfolio full stack developer with a passion for building scalable and high-performance web applications.

Explore

  • Home
  • About

Services

  • Web Development
  • Backend & APIs
  • Performance Optimization
  • Security & Authentication

Connect

  • Contact
  • Privacy
  • Terms
  • Home
  • About
  • Web Development
  • Backend & APIs
  • Performance Optimization
  • Security & Authentication
  • Contact
  • Privacy
  • Terms

© @vivekcsein. All rights reserved.

  • Home
  • All Articles47
  • Featured
  • Recently Added
  • Most Read
  • Bookmarks
Topics
  • Interview3
  • 3d4
  • Ai Prompts2
  • Business3
  • Deployment1
  • Dev2
  • Frontend5
  • Getting Started2
    • How to add a new doc
    • VS Code Keyboard Shortcuts Guide
  • Security2
  • Seo2
  • Workflow10
  • Backend1
  • Deployment1
  • Security1
  • Javascript1
  • Client Advisory5
  • Engineering2
Collections
  • Docs
  • Tutorials
  • Resources
  • Articles
“A better developer every single day.”
— Vivek
  1. Docs
  2. Getting Started
  3. How to add a new doc
Getting Started

How to add a new doc

Add a new guide in under a minute — create a markdown file, and it is published, searchable and listed automatically.

Updated Sep 21, 20262 min read
On this page

On this page

  • 1. Create the file
  • Which section and category?
  • 2. Write a heading
  • 3. Optional front-matter
  • Code blocks are copy-ready
  • Turning on ads
  • Next steps

Every guide on this site is a plain .md file. There is no registry to edit and no config to touch — create the file and it appears on the home page, in the sidebar, in search and in the sitemap.

1. Create the file#

The folder path is the URL: src/content/<section>/<category>/<slug>.md becomes /<section>/<category>/<slug>.

text
src/content/
├── docs/                          →  /docs            (a section, shown in the header)
│   ├── business/                  →  /docs/business
│   │   └── best-freelance-platforms-for-dev-teams-2026.md
│   └── getting-started/
│       └── how-to-add-a-doc.md    →  /docs/getting-started/how-to-add-a-doc
└── code/                          →  /code            (a new section — just make the folder)
    └── javascript/
        └── array-methods.md       →  /code/javascript/array-methods

Use lowercase kebab-case names. A new folder becomes a new category, and a new top-level folder becomes a whole new section with its own page, sidebar and menu link — no code changes.

Which section and category?#

The section (top-level folder) is the type of content; the category (sub-folder) is the subject. Reuse an existing category before inventing a new one, and never create a catch-all like misc or others.

SectionPut hereCategories in use
docsEvergreen guides and referencesfrontend, security, seo, deployment, workflow, 3d, ai-prompts, business, interview, getting-started
tutorialsStep-by-step, project-based walkthroughssecurity, backend, deployment
resourcesCheat-sheets and copy-ready notesjavascript
articlesLonger-form writing and opinionengineering, client-advisory

2. Write a heading#

The first # Heading in the file becomes the page title. If there is none, the title from front-matter is used, then the default from content.config.ts, then the file name.

md
# My guide title

A short intro paragraph — it doubles as the description in search and Google.

3. Optional front-matter#

Everything here is optional. Skip it entirely if you like.

yaml
---
description: One sentence for cards, search and SEO.
date: 2026-09-21 # first published
updated: 2026-10-02 # last meaningful edit
keywords: [freelance, clients]
featured: true # shows in "Start here" on the home page
order: 1 # lower = earlier inside its category
draft: true # hidden in production builds
---

Code blocks are copy-ready#

Any fenced block gets a language label and a one-click copy button.

ts
type Doc = {
  slug: string;
  title: string;
};

export const getDoc = (slug: string): Doc | undefined =>
  docs.find((doc) => doc.slug === slug);
bash
bun run dev
bun run build

Inline code, tables and task lists work too:

FieldRequiredDefault
titlenofirst # Heading
descriptionnofirst paragraph
datenofile modified time
  • Write the guide
  • Share it

Turning on ads#

Set NEXT_PUBLIC_ADSENSE_CLIENT and the slot ids in your environment. Ads appear in the right rail and inside long articles — nothing else to change.

Next steps#

Run bun run dev, open the page, and use / to search for it.

Next VS Code Keyboard Shortcuts Guide

Keep reading

  • Getting Started

    VS Code Keyboard Shortcuts Guide

    The highest-impact VS Code keyboard shortcuts to memorize first, covering navigation, editing, multi-cursor, search, formatting and debugging.

    6 min read·Oct 2, 2022
  • Dev

    A Friendly Guide to Conventional Commits

    A developer-friendly guide explaining Git commit prefixes (feat, fix, chore, style, etc.) with real-world examples and a cheat sheet for better codebase history.

    4 min read·Oct 13, 2026
  • Dev

    Why Authentication Security Is Worth Paying For (and How We Build It)

    A client-facing business case for a hardened authentication backend, plus the step-by-step roadmap we follow to build it: shared rate limiting, key rotation, multi-factor sign-in and verifiable security.

    7 min read·Oct 13, 2026

On this page

  • 1. Create the file
  • Which section and category?
  • 2. Write a heading
  • 3. Optional front-matter
  • Code blocks are copy-ready
  • Turning on ads
  • Next steps