{"id":30732540,"url":"https://github.com/codecaine-zz/neu_markdown_buddy","last_synced_at":"2025-09-03T17:10:03.499Z","repository":{"id":312484192,"uuid":"1047646396","full_name":"codecaine-zz/neu_markdown_buddy","owner":"codecaine-zz","description":"markdown buddy","archived":false,"fork":false,"pushed_at":"2025-08-30T23:01:19.000Z","size":3087,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-31T00:22:53.498Z","etag":null,"topics":["buddy","desktop-application","markdown","navigation","neutralinojs","notes","production","reader","search","tutorials","webview"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codecaine-zz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"shalithasuranga","patreon":"shalithasuranga","open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2025-08-30T22:19:42.000Z","updated_at":"2025-08-30T23:01:22.000Z","dependencies_parsed_at":"2025-08-31T00:22:55.611Z","dependency_job_id":"745b4113-8717-4399-88dd-ea6584256e72","html_url":"https://github.com/codecaine-zz/neu_markdown_buddy","commit_stats":null,"previous_names":["codecaine-zz/neu_markdown_buddy"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/codecaine-zz/neu_markdown_buddy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codecaine-zz%2Fneu_markdown_buddy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codecaine-zz%2Fneu_markdown_buddy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codecaine-zz%2Fneu_markdown_buddy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codecaine-zz%2Fneu_markdown_buddy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codecaine-zz","download_url":"https://codeload.github.com/codecaine-zz/neu_markdown_buddy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codecaine-zz%2Fneu_markdown_buddy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273477168,"owners_count":25112625,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-03T02:00:09.631Z","response_time":76,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["buddy","desktop-application","markdown","navigation","neutralinojs","notes","production","reader","search","tutorials","webview"],"created_at":"2025-09-03T17:08:57.995Z","updated_at":"2025-09-03T17:10:03.469Z","avatar_url":"https://github.com/codecaine-zz.png","language":"JavaScript","funding_links":["https://github.com/sponsors/shalithasuranga","https://patreon.com/shalithasuranga"],"categories":[],"sub_categories":[],"readme":"# Markdown Buddy - Advanced NeutralinoJS Tutorial Browser\n\nA modern, feature-rich desktop application for browsing and viewing markdown-based tutorials with advanced navigation, syntax highl### 📋 **Table of Contents**\n\n- **Auto-generated** - Created from markdown headers\n- **Always visible** - Automatically displayed for all tutorials (no toggle needed)\n- **Color-coded levels** - Different colors for H1-H6\n- **Smooth scrolling** - Click to jump to sections\n\n### 🔝 **Scroll to Top Feature**\n\n- **Floating Button** - Elegant circular button appears after scrolling 300px down\n- **Smart Visibility** - Auto-shows/hides based on scroll position with smooth animations\n- **Keyboard Shortcuts** - `Page Up` or `Home` keys for instant top navigation\n- **Smooth Animation** - 500ms cubic-bezier easing for natural scroll motion\n- **Theme Integration** - Blue (light) / Purple (dark) colors matching app theme\n- **Mobile Optimized** - Responsive sizing and touch-friendly interactions\n- **Accessibility** - ARIA labels and keyboard navigation support\n- **Performance** - Throttled scroll detection for optimal performanceg, and responsive design. This is an enhanced NeutralinoJS port of the original PHP-based [markdown_tutorials](https://github.com/codecaine-zz/markdown_tutorials) application.\n\n![Markdown Buddy Screenshot](screenshots/main.png)\n\n## ✨ Features\n\n### 📚 **Core Functionality**\n\n- **Interactive Tutorial Browser** - Navigate through organized tutorial collections\n- **Smart File System Integration** - Automatically scans and loads markdown files\n- **Cross-Platform Native App** - Built with NeutralinoJS for Windows, macOS, and Linux\n- **Offline First** - Works completely offline with local file access\n\n### 🎨 **Rich Content Display**\n\n- **Advanced Syntax Highlighting** - Code blocks highlighted with Highlight.js for 20+ languages\n- **Auto-Generated Table of Contents** - Navigate through document sections easily (always visible)\n- **One-Click Code Copying** - Copy any code block with a single click\n- **Smooth Anchor Navigation** - Jump to sections with smooth scrolling\n- **Responsive Design** - Optimized for desktop and mobile displays\n- **Light/Dark Theme Toggle** - Switch instantly via toolbar (sun/moon icon)\n- **Zoom Controls** - Zoom content from 80%–180% with a live indicator\n\n### 🧭 **Advanced Navigation System**\n\n- **🔍 Smart Search** - Real-time toolbar search with `Ctrl/Cmd+F` shortcut and fallback tutorial data\n- **⬅️ Navigation History** - Previous button with smart history tracking and `Alt/Option+←` shortcut\n- **🔝 Scroll to Top** - Floating button and keyboard shortcuts (`Page Up`/`Home`) for instant top navigation\n- **⌨️ Full Keyboard Navigation** - Arrow keys, shortcuts, and accessibility support\n- **🎯 Context Menus** - Right-click for additional actions\n- **📱 Touch-Optimized** - Mobile-friendly navigation with proper touch targets\n- **🎛️ Persistent State** - Remembers folder states and preferences\n- **📋 Auto-Generated TOC** - Table of contents with smooth scrolling (always visible)\n- **🎨 Visual Feedback** - Smooth animations and modern UI interactions\n- **🧰 Toolbar with Labeled Actions** - Previous, Home, Collapse/Expand All, Refresh, Help, Pin, Theme, Zoom-/Zoom+\n- **📁 Smart Sidebar Controls** - Complete hide/show toggle with floating button and full-width content expansion\n- **🎲 Random Tutorial (Home)** - One-click action to open a random tutorial from the library\n\n### 🪟 **Window Management**\n\n- **Always On Top** - Keep window above all others (Cmd/Ctrl+T)\n- **Native Integration** - Proper desktop app behavior\n- **System Tray** - Quick access via system tray (Windows/Linux)\n- **Keyboard Shortcuts** - Comprehensive shortcut system\n- **Fast Quit** - Quit with Cmd/Ctrl+Q or Cmd/Ctrl+W (single-window app)\n\n### ♿ **Accessibility \u0026 UX**\n\n- **ARIA Support** - Screen reader compatible\n- **Focus Management** - Proper keyboard navigation\n- **High Contrast** - Accessible color schemes\n- **Help System** - Interactive help with F1 key\n\n## 🆕 Recent Updates\n\n### September 2025 - UI/UX Enhancements \u0026 Search Improvements\n\n#### **🎨 Modern UI Redesign**\n\n- **Gradient Color Scheme** - Beautiful purple-to-blue gradient design system with CSS custom properties\n- **Enhanced Visual Hierarchy** - Improved typography, spacing, and component styling\n- **Smooth Animations** - Added elegant transitions and hover effects throughout the interface\n- **Responsive Design** - Better mobile and tablet optimization with touch-friendly interactions\n- **Welcome Screen Enhancement** - Added hero section with feature cards and step-by-step guidance\n\n#### **🔍 Search System Overhaul**\n\n- **Relocated Search Bar** - Moved from sidebar to prominent toolbar position for better visibility\n- **Enhanced Search Functionality** - Real-time search with comprehensive tutorial indexing\n- **Fallback Tutorial Data** - Added 14+ popular tutorials (Django, Flask, FastAPI, NeutralinoJS, etc.) for immediate search results\n- **Keyboard Navigation** - Arrow keys to navigate results, Enter to open tutorials\n- **Improved Search Results** - Better styling with highlighted matches and clear category paths\n- **Debug Enhancements** - Added extensive logging for troubleshooting and performance monitoring\n\n#### **🛠️ Technical Improvements**\n\n- **Path Resolution Fix** - Resolved tutorial loading issues by correcting file path formats\n- **Error Handling** - Enhanced error handling and debugging for file loading operations\n- **Code Cleanup** - Removed conflicting search systems and streamlined functionality\n- **Performance Optimization** - Improved search indexing and result rendering\n\n#### **📱 Mobile \u0026 Accessibility**\n\n- **Touch Optimization** - Enhanced touch targets and mobile-friendly interactions\n- **Responsive Search** - Search bar adapts to different screen sizes seamlessly\n- **Improved Focus Management** - Better keyboard navigation and focus indicators\n- **Enhanced ARIA Support** - Improved screen reader compatibility\n\n## 📸 Screenshots\n\n### Main Application Interface\n\n![Main Application Interface](screenshots/main.png)\n\nThe main interface showing the tutorial browser with enhanced navigation, syntax highlighting, and a responsive sidebar.\n\n### Advanced Application Features\n\n![Advanced Application Features](screenshots/application.png)\n\nEnhanced view showcasing the expandable navigation system, deep folder structures, and improved content display.\n\n### Smart Search Functionality\n\n![Smart Search Feature](screenshots/search.png)\n\nReal-time toolbar search with instant filtering, highlighted matches, keyboard navigation support, and fallback tutorial data.\n\n## 🚀 Installation\n\n### Prerequisites\n\n#### Option 1: Using Node.js (Recommended)\n\n```bash\n# Install Node.js (v14+) from https://nodejs.org\n# Then install NeutralinoJS CLI globally\nnpm install -g @neutralinojs/neu\n```\n\n#### Option 2: Using Bun (Fast \u0026 Modern)\n\n```bash\n# Install Bun from https://bun.sh\ncurl -fsSL https://bun.sh/install | bash\n\n# Install NeutralinoJS CLI with Bun\nbun install -g @neutralinojs/neu\n```\n\n#### Option 3: Manual Installation\n\n1. Download NeutralinoJS CLI from [GitHub Releases](https://github.com/neutralinojs/neutralinojs-cli/releases)\n2. Extract and add to your system PATH\n\n### 📥 Quick Setup\n\n```bash\n# Clone the repository\ngit clone https://github.com/codecaine-zz/neu_markdown_buddy.git\ncd neu_markdown_buddy\n\n# First-time setup: Download NeutralinoJS runtime binaries\nneu update\n\n# Run in development mode\nneu run\n\n# Build for production\nneu build\n```\n\n\u003e **⚠️ Important:** Always run `neu update` first after installing NeutralinoJS CLI to download the required runtime binaries for your platform.\n\n## 🎮 Navigation \u0026 Usage Guide\n\n### 🧰 Toolbar \u0026 UI Controls\n\n- Previous: Navigate back to the previously viewed page/section (disabled when no history)\n- Home: Go to the welcome page\n- Collapse All: Collapse all folders (shows a brief busy spinner)\n- Expand All: Expand all folders (shows a brief busy spinner)\n- Refresh: Re-scan tutorials and rebuild navigation (busy spinner)\n- Help: Open in-app keyboard shortcut help (F1)\n- Pin: Toggle Always on Top (Cmd/Ctrl+T)\n- Theme: Toggle light/dark; icon switches sun/moon; persists\n- Zoom-/Zoom+: Adjust content size (80%–180%); indicator shows current zoom; persists\n\n### 📚 Sidebar Controls\n\n- **Hide/Show Toggle** - Completely hide or show the sidebar with smooth transitions\n- **Floating Toggle Button** - When sidebar is hidden, a floating button appears for easy access back\n- **Full-Width Content** - Content expands to use the entire screen width when sidebar is hidden\n- **Smart Content Layout** - Code blocks and tables utilize maximum available space\n- **Centered Content** - Text content remains readable while maximizing available space\n- **Width Resizing** - When visible, sidebar width can be adjusted and is automatically saved\n- **Navigation Tree** - Browse tutorials organized by category and subcategory\n- **Inline Actions** - Collapse/Expand/Refresh buttons at the top of navigation\n\n### 🏠 Home Actions\n\n- Random Tutorial: On the home screen, click “Random Tutorial” to jump to a random tutorial. A toast will show the picked title.\n\n### 🔥 **Quick Start Shortcuts**\n\n- **`F1`** - Show keyboard shortcuts help\n- **`Alt/Opt + ←`** - Navigate back to previous page\n- **`Ctrl/Cmd + F`** - Focus toolbar search box\n- **`Ctrl/Cmd + H`** - Go to home\n- **`Ctrl/Cmd + T`** - Toggle always on top\n- **`Ctrl/Cmd + R`** - Refresh navigation\n- **`Ctrl/Cmd + B`** - Toggle sidebar visibility (hide/show)\n- **`Ctrl/Cmd + Shift + B`** - *(Removed - now uses simple hide/show toggle)*\n- **`Ctrl/Cmd + Q`** or **`Ctrl/Cmd + W`** - Quit the app\n- **`Esc`** - Clear search / Close dialogs\n- **`Page Up`** or **`Home`** - Scroll to top of current page\n\n### 🖱️ **Mouse Navigation**\n\n- **Single Click** - Open file or expand/collapse folder\n- **Double Click** - Quick expand folder or open file\n- **Right Click** - Context menu with additional actions\n- **Hover** - Preview file info and quick actions\n- **Scroll Button Click** - Click the floating scroll-to-top button to return to page top\n\n### ⌨️ **Keyboard Navigation**\n\n- **`↑` `↓`** - Navigate between items\n- **`←` `→`** - Collapse/expand folders\n- **`Enter`** - Open selected item\n- **`Tab`** - Focus navigation between sections\n\n### 🔍 **Search Features**\n\n- **Toolbar Location** - Prominently positioned in the center of the top toolbar for easy access\n- **Real-time search** - Results appear as you type with 14+ fallback tutorials available immediately\n- **Path-based search** - Find files by name, folder, or path with highlighted category information\n- **Highlighted matches** - Search terms highlighted in search results with category paths\n- **Keyboard Navigation** - Use arrow keys to navigate results, Enter to open tutorials\n- **Quick clear** - Click X or press Esc to clear search and hide results\n\n### � **Navigation History \u0026 Previous Button**\n\n- **Smart History Tracking** - Automatically tracks your browsing history across tutorials, folders, and home\n- **Previous Button** - Navigate back to previously viewed pages with a single click\n- **Keyboard Shortcut** - Use `Alt/Option + Left Arrow` to go back quickly\n- **Visual Feedback** - Button shows disabled state when no history is available\n- **Dynamic Tooltips** - Hover to see where the Previous button will take you\n- **Cross-Section Navigation** - Works seamlessly between tutorials, folder views, and home page\n\n### �📋 **Table of Contents**\n\n- **Auto-generated** - Created from markdown headers\n- **Always visible** - Automatically displayed for all tutorials (no toggle needed)\n- **Color-coded levels** - Different colors for H1-H6\n- **Smooth scrolling** - Click to jump to sections\n\n### 🧠 Persistence \u0026 Settings\n\n- Theme, zoom level, sidebar state, and sidebar width are saved automatically\n- Notifications confirm actions like toggling Always on Top or changing navigation state\n- Settings are stored locally per device\n\n### 🧯 Quit \u0026 Tray Behavior\n\n- Quit via keyboard: Cmd/Ctrl+Q or Cmd/Ctrl+W (no toolbar quit button)\n- Tray menu is enabled on Windows/Linux; macOS uses standard app menu/shortcuts\n\n### 📁 **Folder Management**\n\n- **Persistent state** - Folder open/closed states remembered\n- **Batch operations** - Expand all / Collapse all buttons\n- **Item counters** - Shows number of items in each folder\n- **Breadcrumb navigation** - Shows current location\n\n## 🏗️ Technology Stack\n\n### Frontend\n\n- **NeutralinoJS** - Lightweight cross-platform desktop framework\n- **Vanilla JavaScript ES6+** - Modern JavaScript without heavy frameworks\n- **Marked.js** - Fast markdown parser and compiler\n- **Highlight.js** - Syntax highlighting for 20+ languages\n- Code style: GitHub Dark theme\n- **Font Awesome** - Professional icons and visual elements\n- **Modern CSS3** - Grid, Flexbox, animations, and responsive design\n\n### Supported Programming Languages\n\n```text\nPython, Java, PHP, JavaScript, TypeScript, C++, C#\nBash, PowerShell, SQL, JSON, YAML, XML, HTML\nDocker, Go, Rust, Swift, Kotlin, Ruby, Perl\nAnd many more...\n```\n\n## 📂 Project Structure\n\n```text\nneu_markdown_buddy/\n├── 📁 resources/\n│   ├── 📄 index.html          # Main application HTML\n│   ├── 🎨 styles.css          # Enhanced CSS with animations\n│   ├── 📁 js/\n│   │   └── 📄 main.js         # Advanced navigation logic\n│   ├── 📁 libs/               # Third-party libraries\n│   │   ├── 📄 marked.min.js\n│   │   ├── 📁 highlight.js/\n│   │   └── 📁 font-awesome/\n│   ├── 📁 tutorials/          # Tutorial content\n│   │   ├── 📁 python/\n│   │   ├── 📁 homebrew/\n│   │   └── 📁 google scripts/\n│   └── 📁 icons/              # Application icons\n├── 📁 bin/                    # Platform binaries\n├── 📄 neutralino.config.json  # App configuration\n└── 📄 README.md               # This file\n```\n\n## 🎯 Tutorial Categories\n\nThe application comes with comprehensive tutorial collections:\n\n### 🐍 **Python**\n\n- **Standard Library** - Complete Python standard library documentation\n- **Data Structures** - Lists, dictionaries, sets, and more\n- **Web Development** - Flask, Django, FastAPI tutorials\n- **Data Science** - NumPy, Pandas, Matplotlib guides\n\n### 🍺 **Homebrew**\n\n- **CLI Tools** - Command-line utilities and their usage\n- **Development Tools** - Programming languages and frameworks\n- **Security Tools** - Network security and penetration testing\n- **System Guides** - macOS tips and terminal usage\n\n### 📊 **Google Scripts**\n\n- **Gmail Functions** - Email automation and processing\n- **Google Sheets** - Spreadsheet automation and data manipulation\n- **Google Drive** - File management and organization\n- **YouTube API** - Video platform integration\n\n## 🆕 Recent Enhancements\n\n### Enhanced Sidebar Navigation (September 2025)\n\n- **🎯 Complete Hide/Show Toggle** - Sidebar now completely hides instead of just collapsing to icons\n- **🔄 Floating Toggle Button** - Elegant floating button appears when sidebar is hidden for easy access\n- **📐 Full-Width Content Expansion** - Content automatically expands to use entire screen width\n- **🎨 Smart Content Layout** - Code blocks, tables, and text adapt to available screen space\n- **⌨️ Keyboard Control** - `Ctrl/Cmd + B` toggles sidebar visibility\n- **💾 State Persistence** - Remembers sidebar visibility preference between sessions\n- **📱 Mobile Responsive** - Floating button properly hidden on mobile devices\n\n### Scroll-to-Top Feature (September 2025)\n\n- **🔝 Floating Button** - Elegant scroll-to-top button with smooth animations\n- **⌨️ Keyboard Shortcuts** - `Page Up` and `Home` key support for quick navigation\n- **🎨 Theme Integration** - Button styling matches light/dark themes\n- **📱 Mobile Responsive** - Optimized for touch devices with proper sizing\n- **⚡ Performance Optimized** - Throttled scroll detection for smooth performance\n- **♿ Accessible** - Full accessibility support with ARIA labels and keyboard navigation\n\n## 🔧 Development\n\n### Requirements\n\n- **Node.js** 14+ or **Bun** runtime\n- **NeutralinoJS CLI** for building and running\n- Modern web browser for testing\n\n### Build Commands\n\n```bash\n# Development mode (with auto-reload)\nneu run\n\n# Build production binaries\nneu build\n\n# Clean build artifacts\nneu clean\n\n# Update dependencies\nneu update\n```\n\n### Adding New Tutorials\n\n1. Create markdown files in `resources/tutorials/[category]/`\n2. Use proper heading structure (H1-H6)\n3. Include code blocks with language specification\n4. Add images to enhance content\n5. Test navigation and search functionality\n\n## 🌟 Key Differences from PHP Version\n\n| Feature | PHP Version | NeutralinoJS Version |\n|---------|------------|---------------------|\n| **Runtime** | Requires web server | Native desktop app |\n| **File Access** | Server-side only | Direct filesystem access |\n| **Installation** | PHP + Composer | Single executable |\n| **Performance** | Server processing | Client-side rendering |\n| **Offline Usage** | Requires server | Fully offline capable |\n| **Distribution** | Web deployment | Cross-platform binaries |\n\n## Acknowledgments\n\n- Based on the original PHP [markdown_tutorials](https://github.com/codecaine-zz/markdown_tutorials) project\n- Built with [NeutralinoJS](https://neutralino.js.org/) - Lightweight cross-platform app framework\n- Powered by [Marked.js](https://marked.js.org/) for markdown processing\n- Syntax highlighting by [Highlight.js](https://highlightjs.org/)\n- Icons by [Font Awesome](https://fontawesome.com/)\n\n## Links\n\n- Original PHP Version: [codecaine-zz/markdown_tutorials](https://github.com/codecaine-zz/markdown_tutorials)\n- Live Demo: [codefreelance.net/apps/markdown_buddy](https://codefreelance.net/apps/markdown_buddy/?page=home)\n- NeutralinoJS Documentation: [neutralino.js.org/docs](https://neutralino.js.org/docs/)\n\n[![Contributors](https://contrib.rocks/image?repo=neutralinojs/neutralinojs-minimal)](https://github.com/neutralinojs/neutralinojs-minimal/graphs/contributors)\n\n## License\n\n[MIT](LICENSE)\n\n## Icon credits\n\n- `trayIcon.png` - Made by [Freepik](https://www.freepik.com) and downloaded from [Flaticon](https://www.flaticon.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodecaine-zz%2Fneu_markdown_buddy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodecaine-zz%2Fneu_markdown_buddy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodecaine-zz%2Fneu_markdown_buddy/lists"}