Skip to content

lis186/hackmd-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hackmd-cli

A command-line interface for interacting with the HackMD API.

Installation

npm install -g hackmd-cli

Or run directly with npx:

npx hackmd-cli <command>

Setup

  1. Get your API token from HackMD Settings
  2. Set the environment variable:
export HACKMD_TOKEN=your_api_token

Or create a .env file in your project directory:

HACKMD_TOKEN=your_api_token

Usage

User Commands

# Get current user profile
hackmd me

# Get note history
hackmd history
hackmd history --limit 10

Notes Commands

# List all notes
hackmd notes list

# Get a specific note
hackmd notes get <noteId>

# Create a new note
hackmd notes create
hackmd notes create --title "My Note" --content "# Hello"
hackmd notes create --read-permission guest --write-permission signed_in

# Update a note
hackmd notes update <noteId> --content "# Updated content"
hackmd notes update <noteId> --read-permission owner --permalink my-note

# Delete a note
hackmd notes delete <noteId>

Teams Commands

# List all teams
hackmd teams list

# List team notes
hackmd teams notes <teamPath>

# Get a team note
hackmd teams note <teamPath> <noteId>

# Create a team note
hackmd teams create-note <teamPath>
hackmd teams create-note <teamPath> --title "Team Note" --content "# Hello"

# Update a team note
hackmd teams update-note <teamPath> <noteId> --content "# Updated"

# Delete a team note
hackmd teams delete-note <teamPath> <noteId>

Options

Permission Values

  • owner - Only the owner can access
  • signed_in - Any signed-in user can access
  • guest - Anyone can access (including anonymous users)

API Coverage

This CLI covers all HackMD API v1 endpoints:

Endpoint Command
GET /me hackmd me
GET /history hackmd history
GET /notes hackmd notes list
GET /notes/:noteId hackmd notes get
POST /notes hackmd notes create
PATCH /notes/:noteId hackmd notes update
DELETE /notes/:noteId hackmd notes delete
GET /teams hackmd teams list
GET /teams/:teamPath/notes hackmd teams notes
GET /teams/:teamPath/notes/:noteId hackmd teams note
POST /teams/:teamPath/notes hackmd teams create-note
PATCH /teams/:teamPath/notes/:noteId hackmd teams update-note
DELETE /teams/:teamPath/notes/:noteId hackmd teams delete-note

Development

# Install dependencies
npm install

# Build
npm run build

# Run tests
npm test

# Run tests in watch mode
npm run test:watch

# Type check
npm run lint

License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors