Git Product home page Git Product logo

marker's Introduction

Marker

Marker is a markdown editor for linux made with GTK+-3.0

NOTE: Issues regarding markdown parsing should go to the scidown repo.

Features

  • View and edit markdown documents
  • HTML and LaTeX conversion of markdown documents with scidown
    • Support for YAML headers
    • Document classes
    • Beamer/presentation mode (class: beamer)
    • Abstract sections
    • Table of Contents
    • External document inclusion
    • Equations, figures, table and listings with reference id and caption
    • Internal references
  • Extra scientific syntax of SciDown on its wiki
  • TeX math rendering with KaTeX or MathJax
  • Support for mermaid diagrams
  • Support for charter for plotting
  • Syntax highlighting for code blocks with highlight.js
  • Integrated sketch editor
  • Flexible export options with pandoc
    • PDF
    • RTF
    • ODT
    • DOCX
  • Custom CSS themes
  • Custom syntax themes
  • Native GTK+3 application

Screenshots

scrot.png

scrot1.png

scrot2.png

sketcher.png

slides.png

Packages

Installation From Source

Dependencies

  • meson >= 0.37.0 (install only)
  • gtk3-devel >= 3.20
  • gtksourceview3-devel
  • webkitgtk4-devel
  • pandoc
  • gtkspell
  • itstool

Build Instructions

NOTE: MAKE SURE TO CLEAN THE EXTENSIONS BEFORE UPDATING: rm /usr/share/com.github.fabiocolacio.marker/extensions/

Note: For a more stable experience, users are recommended download release tarball rather than cloning from master.

$ git clone https://github.com/fabiocolacio/Marker.git
$ cd Marker
$ git submodule update --init --recursive
$ mkdir build && cd build
$ meson .. --prefix /usr
$ ninja
$ sudo ninja install

Donations/Tips

If you like Marker and would like to support the development of this project, please donate below!

PayPal

marker's People

Contributors

0mp avatar albanobattistella avatar alice-mkh avatar amereyeu avatar archisman-panigrahi avatar bertob avatar brainblasted avatar city-busz avatar eson57 avatar fabiocolacio avatar geckoeidechse avatar ildegarde59 avatar jsparber avatar lamfe avatar mandarancio avatar maoschanz avatar mjkim0727 avatar mrmino avatar nick87720z avatar noobping avatar olivierb2 avatar pcercuei avatar prince781 avatar rohmishra avatar ronhasson avatar sven-frotscher avatar tim77 avatar tonywhite avatar vistaus avatar vlisivka avatar

Stargazers

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

Watchers

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

marker's Issues

Add a command-line preview mode

It would be nice to have a command-line utility to view rendered markdown.

The command could be something like marker --preview <file-glob>, and it would open the files in Marker's preview-only mode.

This would allow Marker's preview functionality to be of use, even for people who prefer other text editors like vim.

Add full screen or distraction free view

Hi. This is the only GTK3 markdown editor I've found, and it's looking great so far! Keep up the good work! Here's a possible improvement:

It would be great to have a fullscreen mode. The most basic way of doing this could be just keeping the current view, stretching it to fullscreen and removing all the other elements of the interface, like any other app does.

A nicer approach would be to provide an improved "distraction-free" environment. While still keeping the current view, it could improve the presentation, for example adding margins to the editing panel, centering the line you're editing, etc.

Store mathjax script locally

Mathjax support is supplied via a javascript file that is requested by webkit every time the page is rendered. This prevents offline use of the script and is a potential security risk. The javascript should be installed to the disk during the installation process of the application.

Scroll both views at once.

Many split-view markdown editors have a feature where scrolling the source view also scrolls the
preview, so you can see the relevant part of the preview in long documents.

Allow users to print documents

The print feature is already partially implemented (used for exporting to pdf). It still needs to be fully implemented to allow printing to actual printers.

Add an option for a wysiwyg toolbar

This can work in a similar fashion as the GitHub wysiwyg when writing in fields such as the issue submission field (which happens to use markdown).

Outdated libraries

I recently discovered that the version of webkitgtk I am using (from my distro's repos) is outdated,
and will have compilation issues for people using more recent versions.

This may also be true for other libraries used in this project.

Change fonts?

Hi

This app seems very promising. But am I missing something or is it impossible to configure the fonts? It stays the same regardless of how I've set the Gnome fonts in gnome-tweak-tool
skaermbillede fra 2017-10-24 06-31-06

Spacing issue when rendering with code listings

The first line in a code listing is always pushed a few pixels too far to the right.

It is still unclear if this is caused by the html document created by pandoc, or the css theme being used.

The following is a screenshot of the situation:
screenshot from 2017-08-23 22-28-03

Create packages for easy installation

This program looks like everything I wanted and needed, but I'd love to have an easy way to install it. Any possibility to have a flatpack package or be in AUR (Arch) repository?

Fix paned view default split

Currently, the preview takes up the entire window, and the user has to manually expand the source
view. It would be nice if the split was automatically halfway down the window for new windows.

Add export options with wkhtmltox

wkhtmltopdf appears to respect css themes more closely than pandoc, and doesn't depend on texlive.
wkhtmltoimage can also be used to export to an image.

Use webkit2gtk instead of webkitgtk

webkit(1)gtk is deprecated and at least arch linux doesn't even provide a compiled package anymore.
webkit2gtk seems to be the future and should be easy to use in marker:

webkit_web_view_load_html instead of ...load_string
webkit_web_view_is_loading instead of ...load_status
different parameters for web_view_context_menu

New settings schema error

Hi,
Since when I recompiled the last changes I can not run Marker as it crash when it tries to read the "mathjax-toggle" settings:

(com.github.fabiocolacio.marker:32101): GLib-GIO-ERROR **: Settings schema 'com.github.fabiocolacio.marker.preferences.preview' does not contain a key named 'mathjax-toggle'

What can I do?

Cheers,
M

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.