Skip to content

Notes Export

Saiful Alam Rakib edited this page Apr 22, 2026 · 1 revision

Notes Export

Bill Organizer lets you download your notes in four different formats directly from the browser. No server request is made — the export runs entirely client-side using the browser's Blob API.


Supported Formats

Format Extension Best For
JSON .json Data backup, migration, programmatic use
Markdown .md Documentation, sharing, version control
CSV .csv Spreadsheet analysis, data processing
Plain Text .txt Simple viewing and printing

Export Entry Points

1. Bulk Export — Notes Index Page

Export all notes at once from the Notes index page header.

Steps:

  1. Navigate to Notes
  2. Click the Export Notes button (only visible when notes exist)
  3. Select a format from the dropdown
  4. The file downloads automatically

File naming: notes-export-YYYY-MM-DD.{ext}


2. Per-Note Export — Note Card Dropdown

Export a single note directly from the notes list.

Steps:

  1. Click the (three-dot menu) on any note card
  2. Hover over Export
  3. Select a format
  4. The file downloads with the note's title as the filename

3. Per-Note Export — Note View Dialog

Export from inside the note detail view.

Steps:

  1. Click View on any note card
  2. In the dialog footer, click Export
  3. Select a format from the dropdown

Format Details

JSON

Contains the complete note object:

{
  "id": 1,
  "title": "Payment Reminder",
  "content": "Remember to update payment method",
  "created_at": "2026-02-01T00:00:00.000Z",
  "updated_at": "2026-02-05T10:00:00.000Z",
  "is_pinned": true,
  "user_id": 1,
  "team_id": null,
  "related": []
}
  • Formatted with 2-space indentation
  • Includes all metadata fields

Markdown

# Payment Reminder

**Created:** February 1, 2026  
**Updated:** February 5, 2026  
**Pinned:** Yes  
**Team:** Personal  

---

Remember to update payment method
  • Preserves original Markdown content
  • Includes metadata header block
  • Related items appended at the bottom

CSV

Title,Content,Created,Updated,Pinned,Team,Related Items
"Payment Reminder","Remember to update payment method","2026-02-01","2026-02-05","Yes","Personal",""
  • Values properly escaped for commas and double quotes
  • One row per note (bulk export) or single-row file (per-note export)

Plain Text

Payment Reminder
================

Created: February 1, 2026
Updated: February 5, 2026
Pinned:  Yes
Team:    Personal

---

Remember to update payment method

Technical Details

Implementation Files

File Role
resources/js/composables/useNoteExport.ts Core export composable with all format generators
resources/js/pages/Notes/Index.vue Bulk export button
resources/js/components/notes/NoteCard.vue Per-note card dropdown
resources/js/components/notes/NoteViewDialog.vue Per-note dialog footer

Key Functions

Function Description
exportNote(note, format) Export a single note in the given format
exportNotes(notes, format) Export multiple notes in the given format
generateMarkdown(note) Generate Markdown string for a note
generateCSV(notes) Generate CSV string for one or more notes
generateTextFile(note) Generate plain text string for a note
downloadFile(content, filename, mimeType) Trigger browser file download

Dependencies

  • Browser Blob API — creates in-memory file content
  • URL.createObjectURL — generates a temporary download URL
  • No external libraries required

Security

  • Export runs entirely on the client side — no data leaves the browser to a server
  • Files contain only data the authenticated user already has access to
  • Filenames are sanitized to prevent directory traversal

Browser Compatibility

Works in all modern browsers:

Browser Support
Chrome
Firefox
Safari
Edge

JavaScript must be enabled.

Live Link: bills.msar.me

API Docs: API

Open API Collection: API Collection

Clone this wiki locally