Giter Site home page Giter Site logo

hreikin / tkintermd Goto Github PK

View Code? Open in Web Editor NEW
15.0 2.0 4.0 842 KB

A tkinter based Markdown editor with HTML preview and export to be used in your projects.

Home Page: https://hreikin.github.io/tkintermd/

License: MIT License

Python 100.00%
tkinter tkinter-gui python python3 pygments tkinterweb markdown python-markdown markdown-editor

tkintermd's Introduction

tkintermd

Commits Contributors Forks Stargazers PyPI - Downloads Issues MIT License

A Markdown editor with HTML preview for use in tkinter projects.

About The Project

An embeddable tkinter based Markdown editor with HTML preview. The editor has syntax highlighting provided by Pygments and the HTML preview window is provided by tkinterweb.

Built With

Getting Started

Installation

To get a local copy up and running choose one of the below install instructions and follow the steps provided.

Install With PIP

The simplest way to install tkintermd is to use pip:

pip install tkintermd

Install From Source

Alternatively you can install from source by following the steps below:

  1. Clone the repo:

    git clone https://github.com/hreikin/tkintermd.git
    cd tkintermd/
  2. Create and source a Python virtual environment:

    python3 -m venv .venv
    source .venv/bin/activate
  3. Install requirements with pip:

    pip install -r requirements.txt

Usage

Embedded

To use the TkintermdFrame in one of your own python scripts:

from tkintermd.frame import TkintermdFrame

import tkinter as tk
from tkinter.constants import *

root = tk.Tk()
app = TkintermdFrame(root)
app.pack(fill="both", expand=1)
app.mainloop()

For more examples, please refer to the Documentation

Roadmap

Check out the Github Project - tkintermd v0.1.0 for an overview of the work being done towards the release. See the open issues for a full list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE.txt for more information.

Contact

Github Link: https://github.com/hreikin/tkintermd
PyPi Link: https://pypi.org/project/tkintermd/
Documentation: https://hreikin.github.io/tkintermd/

tkintermd's People

Contributors

dependabot[bot] avatar hbregalad avatar hreikin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

tkintermd's Issues

[DEV] Refactor Codebase

Refactor Codebase

Refactor the current codebase and split into separate files for the editor and preview/export area.

  • Frame
  • Editor
  • Preview
  • Export
  • Toolbar

[DEV] Toolbar

Toolbar Tasks

Toolbar specific tasks to be completed:

  • Create remaining formatting buttons
  • Link buttons with functions
  • Icons
  • Group similar buttons

[DEV] Documentation

Documentation Tasks

Documentation specific tasks:

  • Integrate mkdocs
  • Create mkdocs workflow
  • Integrate mkdocstrings, mkdocs-with-pdf
  • Search for more extensions
  • Expand workflow
  • Expand docstrings to include all params

[BUG] Editor Syntax Highlighting

Desktop (please complete the following information):
OS: Tested on Windows/Linux
Python Version [e.g. 3.7]: Tested on 3.9+
Install Type [e.g. via pip, via git]: Git

Describe the bug
When using inline or fenced code blocks the editor window changes the background/text colour of the code blocks and it becomes unreadable.

Steps to reproduce the behavior:

  • Start tkintermd
  • Type in the syntax for an inline or fenced code block
  • See the editor window change the background/text colour to not match the rest of the document.

Expected behavior A clear and concise description of what you expected to happen.
The background and text should match the style of the highlighting within the editor.

[DEV] Editor

Editor Tasks

Editor specific tasks to be completed:

  • Function: apply_markdown_both_sides
  • Function: apply_markdown_left_side
  • Constants file variables for all syntax
  • #11
  • #4
  • #13 - dropped in favour of #14
  • #14

[DEV] HTML Preview

HTML Preview Tasks

HTML preview specific tasks to be completed:

  • Link scrollbar with editor
  • Style scrollbars the same (favour the HTMLFrame scrollbar)
  • Markdown extensions for HTML conversion
  • Export to HTML
  • Export options area
  • Templates (basic)

[RELEASE] v0.1.0

v0.1.0

Track the overall progress of the planned tkintermd-v0.1.0 release. The related Github Discussion is available to view here and the Github Project is available to view here.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.