Back to Documentation
Managing Notion Pages
Managing Notion Pages
Learn how mdsync.app creates and manages Notion pages, and how your GitHub structure maps to Notion.
Page Structure Mapping
mdsync.app uses a two-phase sync process to perfectly mirror your GitHub structure:
- GitHub Folders → Notion pages (with folder name as page title)
- README.md files → Page content (or child pages for root README)
- Other .md files → Child pages with their content
- Images → Uploaded to Notion and embedded in pages
- Folder hierarchy → Preserved as parent-child page relationships
Sync Process
Phase 1: Structure Creation
mdsync.app first creates the page structure:
- Creates all folder pages as Notion pages
- Creates pages for all markdown files
- Establishes parent-child relationships
- Sets page titles based on folder/file names
Phase 2: Content Population
Then it populates the content:
- Converts markdown to Notion blocks
- Uploads images to Notion
- Updates page content
- Handles orphaned pages (files deleted in GitHub)
Supported Markdown Features
mdsync.app supports comprehensive markdown formatting:
- Headers (H1-H6) → Notion headings
- Bold and italic text → Notion formatting
- Code blocks with syntax highlighting → Notion code blocks
- Inline code → Notion inline code
- Lists (ordered and unordered) → Notion lists
- Links → Notion links
- Images → Uploaded and embedded in Notion
- Tables → Notion tables
- Horizontal rules → Notion dividers
- Blockquotes → Notion callouts
Content Updates
When you update files in GitHub:
- ✅ Content is automatically updated in Notion (if webhooks enabled)
- ✅ Formatting is preserved and converted to Notion blocks
- ✅ Images are re-uploaded if changed
- ✅ Links are preserved and updated
- ✅ New files create new pages
- ✅ Deleted files archive their Notion pages
Manual Edits in Notion
Important: You can manually edit pages in Notion, but:- ⚠️ Manual edits may be overwritten on the next sync
- ⚠️ It's recommended to make changes in GitHub instead
- ✅ Use Notion comments for team collaboration (comments are preserved)
- ✅ Use Notion discussions for feedback (not overwritten)
Best Practices
Repository Structure
- Keep README.md files focused and clear
- Use consistent folder naming conventions
- Organize images in a dedicated folder (e.g.,
/images) - Use relative links between markdown files
Content Guidelines
- Use clear, descriptive file and folder names
- Keep markdown files well-formatted
- Use proper heading hierarchy (H1 → H2 → H3)
- Optimize images before committing (smaller files = faster syncs)
Notion Collaboration
- Use Notion comments for team discussions
- Don't manually restructure pages (changes should come from GitHub)
- Share Notion pages with your team for easy access
- Use Notion's built-in collaboration features
Troubleshooting
Pages not updating?- Check sync status in the dashboard
- Review sync logs for errors
- Ensure webhooks are enabled (Starter/Pro plans)
- Manually trigger a sync if needed
- Verify image paths are correct in markdown
- Check that images are committed to the repository
- Review sync logs for image upload errors
- Ensure you haven't exceeded your plan's image limit