Suckless markdown viewer

Lucy McClane 29dbf7dce2 -Wno-narrowing for some reason 3 years ago
discount 1130a23b53 version 0.0.1 3 years ago
litehtml c7ec15e69d embedded data:image png support 3 years ago
markdown-cheatsheet b5713a1056 placeholder image hotlink removed 3 years ago
src a171d8d9af table style hardfix 3 years ago
stb c7ec15e69d embedded data:image png support 3 years ago
themes a171d8d9af table style hardfix 3 years ago
xxd 1130a23b53 version 0.0.1 3 years ago
LICENSE 1130a23b53 version 0.0.1 3 years ago
Makefile.am 1130a23b53 version 0.0.1 3 years ago
README.md 59ae625184 html support notes 3 years ago
bootstrap fa8ca0436d autotools scripts 3 years ago
configure.ac 29dbf7dce2 -Wno-narrowing for some reason 3 years ago

README.md

LiteMDview

A suckless markdown viewer.

shot

Table of contents

Introduction

LiteMDview is a lightweight, extremely fast markdown viewer with lots of useful features. One of them is ability to use your prefered text editor to edit markdown files, every time you save the file, litemdview reloads those changes (I call it live-reload). It has a convinient navigation through local directories, has support for a basic "git-like" folders hierarchy as well as vimwiki projects.

Features

  • Does not use any of those bloated gecko(servo)-blink engines
  • Lightweight and fast
  • Live reload
  • Convinient key bindings
  • Supports text zooming
  • Supports images
  • Supports links
  • Navigation history
  • Cool name which associates with 1337, at least for me :)
  • Builtin markdown css themes
  • Supports emoji™️
  • vimwiki support
  • Basic html support (very simple offline documents in html)

It is a full featured offline browser for a markdown websites and some basic html.

Command Line Use

Usage: litemdview file.md
    -p print html into stdout and exit
    -t <num> of theme to use
    -s <file> load external css
    -a print links into stdout
    -h show this information
    -v version

For instance, if I want to convert a single file into index.html using second theme, I just do:

litemdview -t 2 -p REAMDE.md > index.html

Customization

There is -s style.css option which makes litemdview use the stylesheet by default. If you want to make a permanent changes, you should copy your custom stylesheet into $HOME/.litemdview file, and it will be loaded every time you launch litemdview. Please note that your default theme get number 0 and zero theme moves to 3.

Key Bindings

Key Action
q Quit
? Markdown cheatsheet
o Open address bar
Esc Close address bar

Navigation keys

Key Action
h Go back in history
l Go forward in history
j,ctrl+n Scroll down
k,ctrl+p Scroll up
ctrl+f Page down
ctrl+b Page up
g Home
G End
+ Zoom text in
- Zoom text out
= Reset zoom
0 Default theme
1 github-light theme
2 github-dark theme

Using Mouse

The navigation through multiple markdown pages using links - involves mouse. The click on mouse button2 gets you back in web history and ctrl + mouse wheel helps to change font size for the page. In general, clicking works as usual.

Dependencies

To successfully build the project you need to make sure you have a working g++ environment installed and configured. The C++ version of GTK library must be installed as well, it mainly consists of following list of packages:

  • gtkmm-3.0 gtkmm - C++ binding for the GTK+ toolkit
  • gdkmm-3.0 gdkmm - C++ binding for the GDK drawing kit

How to install

Make sure all the dependencies are installed.

The build and installation process is simple:

./bootstrap
./configure
make
make install

Todo

  • Keyboard navigation through links

License

The litemdview uses a number of opensource components, such as:

  • discount - markdown parser
  • litehtml - html render
  • markdown-cheatsheet
  • github-themes - css themes

Theier license information lies inside of a coresponding, components folders.

The litemdview itslef is published under GPLv2 license:

GPLv2


 This program is free software; you can redistribute it and/or
 modify it under the terms of the GNU General Public License
 as published by the Free Software Foundation; either version 2
 of the License, or (at your option) any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 Author: g0tsu
 Email:  g0tsu at dnmx.0rg