* feat: add docs update command for editing Google Docs
* fix: handle document content range correctly for replace
* docs: add Jarbas avatar
* feat(gogcli): add markdown formatting support for Google Docs
Phase 1 & 2 complete:
- Markdown parser supporting headings, lists, code blocks, blockquotes, links
- Google Docs API integration for formatting
- --format markdown flag for docs update command
- Heading styles (H1-H6), horizontal rules, list indentation
- Code blocks with monospace font
Pending (Phase 3):
- Inline formatting (bold, italic, inline code) - index calculation issues
- Links - index calculation issues
Usage:
gog docs update <docId> --content-file ./doc.md --format markdown
* fix(gogcli): fix inline formatting indices in markdown formatter
- Simplified document generation to avoid index calculation errors
- Fixed ParseInlineFormatting to correctly track positions
- Preserves: headings, code blocks, blockquotes, lists, horizontal rules
Pending: inline formatting (bold, italic, code, links) - indices still need work
* fix(gogcli): use UTF-16 code units for Google Docs API indexing
- Fixed markdown formatter to use UTF-16 code units instead of UTF-8 bytes
- Added utf16Len() helper function for accurate character counting
- Fixed inline formatting indices (bold, italic, code, links)
- Added empty line handling (MDEmptyLine)
- Successfully tested with Docker course doc (21KB, emojis, diagrams)
This resolves index mismatch errors caused by multi-byte characters like emojis
which are 4 bytes in UTF-8 but 2 code units in UTF-16.
* feat(gogcli): add slides commands with markdown support
- Add 'gog slides update' command with markdown formatting
- Create slides_formatter.go for Google Slides API batch updates
- Create slides_markdown.go for markdown parsing (titles, bullets, code)
- Add slides.go with update/create/read operations
- Update googleauth service for Slides scope
Related: PR #219
* fix(gogcli): use shapes for slides text boxes instead of direct insertion
- Fixed slides creation to use CreateShape with TEXT_BOX instead of inserting text directly
- Direct text insertion into slides is not supported by Google Slides API
- Added title text box with bold 36pt font
- Added body text box for content (bullets, paragraphs, code)
- Supports markdown formatting (bold, bullets, code blocks)
Tested: Successfully created 20-slide presentation from Docker course outline
* feat: add markdown table support (formatted text output)
* feat: implement native Google Docs table insertion with multi-step API
* feat(slides): add --template flag for creating presentations from templates
* fix: stabilize docs/slides markdown + auth flow (#219) (thanks @goncaloalves)
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com>