#markdown #markdown-html #gpu #viewer #html-rendering #open-file

app inlyne

Introducing Inlyne, a GPU powered yet browserless tool to help you quickly view markdown files in the blink of an eye

18 releases

0.4.3 Aug 29, 2024
0.4.2 Apr 6, 2024
0.4.1 Feb 20, 2024
0.3.3 Dec 2, 2023
0.2.1 Oct 21, 2022

#14 in Rendering

Download history 19/week @ 2024-08-19 191/week @ 2024-08-26 65/week @ 2024-09-02 40/week @ 2024-09-09 49/week @ 2024-09-16 51/week @ 2024-09-23 37/week @ 2024-09-30 23/week @ 2024-10-07 29/week @ 2024-10-14 8/week @ 2024-10-21 9/week @ 2024-10-28 16/week @ 2024-11-04 4/week @ 2024-11-11 15/week @ 2024-11-18 13/week @ 2024-11-25 215/week @ 2024-12-02

249 downloads per month

MIT license

675KB
7.5K SLoC

Inlyne - a GPU powered, browserless, markdown + html viewer

inlyne README.md --theme dark/light

About

Markdown files are a wonderful tool to get formatted, visually appealing, information to people in a minimal way. Except 9 times out of 10 you need an entire web browser to quickly open a file...

Introducing Inlyne, a GPU powered yet browserless tool to help you quickly view markdown files in the blink of an eye 👀.

Installation

inlyne is already present in a handful of different package repos. Installation should be mostly painless as most things come pre-bundled.

Packaging status

Building from Source

There are a small handful of dependencies needed to build inlyne from source. Namely

  1. cargo with a somewhat recent Rust toolchain (the relevant docs)
  2. A C-compiler
  3. (On Linux) Development libraries for fontconfig, xkbcommon, and wayland (when the wayland feature flag is set)

For instance on Ubuntu gcc covers 2. and libfontconfig-dev, libxkbcommon-dev and libwayland-dev would cover 3.

Features

Over time the features of this application will continue to grow. However there are a few core features that will remain at the heart of the project.

  • Browserless - People shouldn't need electron or chrome to quickly view markdown files in a repository.
  • GPU Powered - Thanks to the WGPU Project rendering can and will be done as much on the GPU as we can get away with.
  • Basic HTML Rendering - HTML is used in almost all project markdown files, thus having the bare minimum html to support common use cases is necessary, but don't expect forms and buttons.
  • Live Code Change - Inlyne will monitor your markdown file for any write modifications and automatically refresh the document where you left off. It's designed to work seamlessly and allow you to make edits on the fly.

What does it support?

Tables

Super cool tables For organising data
Favourite band Nickleback

Sizable images

Code Blocks (with syntect highlighting)

// Code thats drawing this text
let bounds = (screen_size.0 - pos.0 - DEFAULT_MARGIN, screen_size.1);
self.glyph_brush.queue(&text_box.glyph_section(*pos, bounds));
  1. Inlyne
  2. WGPU Project
  3. Lyon Project
  4. Winit Project

Tasklists

  • Watch Game of Thrones
  • Feed the cat

Hideable sections

Click me to show text

You weren't supposed to see this!

Alignment

Text/Image..

alignment..

:)

Quote Blocks

“Optimism is an occupational hazard of programming: feedback is the treatment. “ Kent Beck

Text Effects

Are these text effects to too much? Theres no such thing

Configuration

Use inlyne --help to see all the command line options. Some of which can be set permentantly by placing an inlyne.toml file into a directory called inlyne within the default dirs configuration folder for your respective OS:

  • Linux: /home/alice/.config/inlyne/inlyne.toml
  • Windows: C:\Users\Alice\AppData\Roaming\inlyne\inlyne.toml
  • Mac: /Users/Alice/Library/Application Support/inlyne/inlyne.toml

Checkout inlyne.default.toml for an example configuration.

FAQ

Is this a html markdown or html renderer?

All markdown files are converted to html thanks to comrak and rendered from there. So technically its a markdown converter and html renderer.

However for obvious complexity reasons, inlynes only going to support enough html to get by rendering 95% of markdown files such as <br>, <h1>, <img>.. etc.

Unforuntately things like <form> and every single css style isn't going to be in scope

Why not use a browser or Visual Studio Code?

You definitely can! And it'll probably do a lot more accurate job at rendering it.

However wouldn't it be nice to have an application that can quickly open that one file in your vim setup? I'd like to think of this as the macOS preview or Adobe Acrobat of markdown.

Contributing

Send your PRs! Send your issues! Everything will help :)

License

Any code that you can in this repository, you can copy under the MIT license.

MIT License

Dependencies

~53–94MB
~1.5M SLoC