johsteffens / Marker

πŸ–Š A gtk3 markdown editor

Home Page:https://fabiocolacio.github.io/Marker/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


Preamble (About this Fork)

This fork contains a workaround for issue#191: Preview scrolls to the top when changing the document.

Cause of the Problem

  • webkit_dom_element_get_scroll_top returns zero even when the view's scroll state is definitely non-zero.
  • WebKit deprecated this and other functions since version 2.22 (with a hint to use the JavaScriptCore API instead). Affected are webkit_dom - functions. They are used in the scroll-extension. It still compiles & links but with warnings.

How it is fixed

  • Implemented scroll capturing and restoration directly in marker-preview running JavaScript snippets.
  • Disabled scroll-extension.

Current Status

  • Meanwhile the issue has been fixed in the original repository by a different and probably better approach. I'm keeping this workaround for my own reference (and for those who might be interested :-) ).

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 SciDwon wiki
  • TeX math rendering with KaTeX and MathJax
  • Support for mermaid diagrams
  • Support for charter for plot
  • 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

Build Instructions

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

About

πŸ–Š A gtk3 markdown editor

https://fabiocolacio.github.io/Marker/

License:GNU General Public License v3.0


Languages

Language:JavaScript 82.9%Language:C 9.4%Language:CSS 6.9%Language:HTML 0.4%Language:Meson 0.2%Language:Objective-C 0.1%Language:Shell 0.0%