Giter VIP home page Giter VIP logo

snekdown's Introduction

Snekdown

More than just Markdown



Documentation | Releases


Description

This projects goal is to implement a fast markdown parser with an extended syntax fitted for my needs.

Core Features

  • Imports
  • Bibliography & Glossary
  • AsciiMath
  • Placeholders
  • Advanced Images

Prerequisites

  • Google Chrome/Chromium (for PDF rendering)

Installation

Binaries

You can download prebuilt binaries on the Releases Page.

Arch Linux

Snekdown is available in the AUR.

Cargo

You need a working rust installation, for example by using rustup.

cargo install snekdown

With pdf rendering

cargo install snekdown --features pdf

Usage

Use snekdown help and snekdown <subcommand> --help for more information.

Rendering

snekdown render <input> <output>

Watching

snekdown watch <input> <output>

Editors

I've created a VisualStudio Code extension for Snekdown. This extension provides a preview of snekdown files, exports and other commands similar to the cli. The source code can be found here.

Roadmap

The end goal is to have a markup language with features similar to LaTeX.

Short Term

  • Checkboxes
  • Emojis (:emoji:)
  • Colors
  • Watching and rendering on change
  • Metadata files
  • Bibliography
  • Math
  • Glossary
  • Chromium based pdf rendering
  • Custom Stylesheets
  • Smart arrows
  • Cross References
  • Figures
  • EPUB Rendering
  • Text sizes
  • Title pages

Long Term

  • Rewrite of the whole parsing process
  • Custom Elements via templates

License

This project is licensed under GPL 3.0. See LICENSE for more information.

snekdown's People

Contributors

trivernis avatar silentbat avatar

Stargazers

GuiJiangHeng avatar Skkeye avatar Nikita avatar Marcus K. Zhong avatar Rafael Villar Burke (Pachi) avatar Luke Frisken avatar  avatar SasakiSaki avatar Gianluca Boiano avatar Eli Adelhult avatar SnnSnn avatar Eduardo Hernández Valdez  avatar Goli Akshay Sujith avatar Saul van der Walt avatar Nick Balaban avatar Vincent Barrielle avatar Tom Milligan avatar Marius Cobzarenco avatar Fergus Molloy avatar Willi Kappler avatar nebulavenus avatar  avatar Noah avatar Lars Longor K avatar Torben Clasen avatar Atk avatar Sabit Maulana avatar  avatar Aaron Erhardt avatar Dr George Atkinson avatar Michalina Sidor avatar  avatar  avatar  avatar Jovansonlee Cesar avatar Iván Pérez avatar Jannis avatar ik5 avatar  avatar Mohammad Rahhal avatar Maxwell Mapako avatar Youssef Habri avatar Jean Lucas avatar

Watchers

Ari avatar James Cloos avatar Jean Lucas avatar  avatar

snekdown's Issues

Linebreaks are being ignored after certain elements

Summary

All linebreaks after certain elements are ignored causing the text below to be rendered directly after without a visual separation.
Currently the only workaround is writing an invisible special symbol like &nbsp; after the element.

Elements causing this behaviour:

  • Tables
  • Code Blocks

[FEATURE] Accept stdin

Is your feature request related to a problem? Please describe.

I can't pipe things into snekdown

Describe the solution you'd like

I'd like to pipe things into snekdown

Describe alternatives you've considered

make a temporary file... ¯\_(ツ)_/¯ ... please no!

Additional context

...

[FEATURE] Better ListItem syntax

Is your feature request related to a problem? Please describe.
A list item always has to be written in one single line.

Describe the solution you'd like
If the second line after a list item doesn't start with a list item indicator and has the same indent as the item it should be interpreted as a continuation of that item.

[BUG] panic when rendering pdf

Describe the bug
when trying to render a pdf, snekdown cannot find a Chromium executable and panics:

PS C:\Users\User\Documents\snek> snekdown render -f pdf input.md output.pdf
info: Parsing + Processing took: 10.1979ms
info: Rendering html...
thread 'main' panicked at 'Failed to render pdf!: ChromiumError(ErrorMessage { msg: "Could not auto detect a chrome executable" })', C:\Users\User\.cargo\registry\src\github.com-1ecc6299db9ec823\snekdown-0.33.3\src/main.rs:238:42
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

To Reproduce

  1. cargo install snekdown --features pdf
  2. snekdown init
  3. create some *.md and add style.css
  4. snekdown render -f pdf input.md output.pdf

Expected behavior
snekdown creates a pdf

Desktop (please complete the following information):

  • OS: Win10
  • Architecture: x86_64
  • Version snekdown 0.33.3

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.