Skip to main content

Terminal-based Markdown IDE built with Textual by Aryaneel Shivam

Project description

Shebang Markdown IDE

A powerful, terminal-based Markdown IDE built with Textual by Aryaneel Shivam. Write, preview, and manage your Markdown files directly in your terminal with a beautiful, keyboard-first interface.

About

Shebang Markdown IDE is a full-featured Markdown editor that runs entirely in your terminal. It combines the power of a modern IDE with the simplicity and speed of terminal-based tools. Whether you're writing documentation, taking notes, or creating technical content, this IDE provides everything you need without leaving your terminal.

Features

✨ Core Features

  • Live Markdown Preview: See your rendered Markdown in real-time as you type, side-by-side with your editor
  • Multi-Tab Editing: Open and edit multiple Markdown files simultaneously with tabbed interface
  • File Explorer: Navigate your project directory with an integrated file tree
  • Integrated Command Terminal: Execute shell commands directly within the IDE without switching windows
  • Markdown Linting: Real-time linting with error and warning detection for better code quality
  • Markdown Reference Guide: Built-in comprehensive Markdown syntax reference accessible via keyboard shortcut
  • Syntax Highlighting: Beautiful syntax highlighting for Markdown code blocks
  • File Type Detection: Visual distinction for different file types (.md files in cyan, .txt files in green)

🎨 User Interface

  • Clean Terminal UI: Modern, responsive interface built with Textual
  • Status Bar: Real-time status updates showing current file, lint issues, and helpful hints
  • Keyboard-First Design: All operations accessible via keyboard shortcuts
  • Multiple Themes: Support for dark, light, blue, green, purple, and orange color themes
  • Rich Text Formatting: Color-coded file explorer and syntax-highlighted command output

📝 Markdown Support

  • Standard Markdown: Full support for CommonMark specification
  • Extended Syntax:
    • Tables
    • Task lists
    • Strikethrough
    • Code blocks with syntax highlighting
    • Blockquotes
    • Horizontal rules
  • Mermaid Diagrams: Support for flowcharts, sequence diagrams, Gantt charts, class diagrams, and state diagrams
  • LaTeX Math: Inline and block mathematical expressions using LaTeX syntax
  • HTML Support: Direct HTML tag support in Markdown

🔧 Command Terminal Features

  • Shell Command Execution: Run any shell command directly from the IDE
  • Directory Navigation: Built-in cd command support with directory tracking
  • Command History: View command output in scrollable terminal area
  • Syntax Highlighting: Shell keywords and commands are highlighted in output
  • Auto File Tree Refresh: File tree automatically updates after file operations
  • Working Directory Tracking: Commands execute in the current working directory
  • Error Handling: Clear error messages and exit code display

🔍 Linting Features

The built-in linter checks for:

  • Header Issues: Missing blank lines after headers, invalid heading levels (>6)
  • Link Validation: Empty link URLs, broken link syntax
  • Image Accessibility: Missing alt text for images
  • Table Formatting: Table row formatting issues
  • Code Block Formatting: Missing blank lines around code blocks
  • Real-time Feedback: Linting runs automatically as you type
  • Issue Reporting: View detailed lint issues with line numbers and error types

⌨️ Keyboard Shortcuts

Shortcut Action
Ctrl+N Create a new file
Ctrl+O Open selected file from explorer
Ctrl+S Save current file
Ctrl+W Close current tab
Ctrl+H Show Markdown reference guide
Ctrl+L Show lint issues for current file
Ctrl+Enter Execute command in terminal
Ctrl+Q Quit application

🎯 File Management

  • Create New Files: Quick file creation with auto-generated untitled names
  • Open Files: Open files from file explorer or via command line argument
  • Save Files: Save with visual indicator for unsaved changes (asterisk in status bar)
  • File Tree Navigation: Expand/collapse directories, navigate with arrow keys
  • Auto-Refresh: File tree automatically refreshes after file operations

Installation

From Source

  1. Clone the repository:
git clone https://github.com/aryaneelshivam/shebangMarkdownIDE.git
cd shebangMarkdownIDE
  1. Install in editable mode:
pip install -e .
  1. Run the application:
devcanvas

Or run directly:

python -m shebangMarkdownIDE.cli

From PyPI (when available)

pip install shebangmarkdown
devcanvas

Usage

Basic Usage

  1. Start the IDE:

    devcanvas
    
  2. Open a specific file:

    devcanvas path/to/file.md
    
  3. Navigate:

    • Use the file explorer on the left to browse your project
    • Press Enter on a file to open it
    • Use Ctrl+O to open the currently selected file
  4. Edit:

    • Type in the editor (left side of the tab)
    • See live preview on the right side
    • Save with Ctrl+S
  5. Use Command Terminal:

    • Type commands in the command input at the bottom of the sidebar
    • Press Ctrl+Enter or Enter to execute
    • View output in the scrollable command output area

Command Terminal Examples

# Create a new directory
mkdir docs

# Create a new file
touch notes.md

# List files
ls -la

# Change directory
cd docs

# Run Python script
python script.py

# Git operations
git status
git add .

Markdown Reference

Press Ctrl+H to open the built-in Markdown reference guide, which includes:

  • All standard Markdown syntax
  • Mermaid diagram examples
  • LaTeX math examples
  • Best practices and tips

Linting

  • Linting runs automatically as you type
  • View lint status in the status bar
  • Press Ctrl+L to see detailed lint issues
  • Issues are categorized as errors or warnings with line numbers

Requirements

  • Python 3.10 or higher
  • Textual >= 0.58.0

Project Structure

shebang_dist/
├── src/
│   └── shebangMarkdownIDE/
│       ├── __init__.py
│       ├── app.py          # Main application
│       └── cli.py          # CLI entry point
├── pyproject.toml
├── requirements.txt
└── README.md

Development

Building the Package

python -m build

Running Tests

# Add tests as needed
pytest

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

[Add your license here]

Author

Aryaneel Shivam

Acknowledgments

  • Built with Textual - The TUI framework for Python
  • Inspired by modern terminal-based editors and IDEs

Note: This is an actively developed project. Features may be added or changed in future versions.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

shebangmarkdown-0.1.3.tar.gz (13.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

shebangmarkdown-0.1.3-py3-none-any.whl (14.4 kB view details)

Uploaded Python 3

File details

Details for the file shebangmarkdown-0.1.3.tar.gz.

File metadata

  • Download URL: shebangmarkdown-0.1.3.tar.gz
  • Upload date:
  • Size: 13.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for shebangmarkdown-0.1.3.tar.gz
Algorithm Hash digest
SHA256 6b7a285dac7a1aef994586e4d123629d75b3c1b098103114f36cb529683d4b0e
MD5 312a4c87921126dc5d445c121a546bee
BLAKE2b-256 74ded37b2c8dd31aebb486e79c67dcec9679e23c9ea8e98e27d02d60d9884b85

See more details on using hashes here.

File details

Details for the file shebangmarkdown-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for shebangmarkdown-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ee02c95f65672ee4934bbaef6c2c2ddf91e8c7f96e38f33d2bc4c601cba6348a
MD5 a57d095a40081a2c518480b27f761316
BLAKE2b-256 9dabd2b30b8ef986c21c9a5329b3900a0e8f6dc4300ec434dd712e5a2c111d55

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page