aoloe / cpp-vischio

Vischio is a simple, modern, and hackable C++ Markdown library.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Vischio Markdown

Vischio is a simple, modern, and hackable C++ Markdown library.

This Markdown library:

  • Can be used in a C++ project
  • Can produce other things than HTML,
  • Can process custom formatting.

Vischio is a "port" of Python's Mistletoe library with bits (or better some inspiration) from the "oldish" C++/Boost sevenjay/cpp-markdown

Sequence diagram

sequence diagram: document

Source
Document->TokenizerFile: get lines
TokenizerFile-->Document: lines
Document->TokenizerFile: normalize lines
TokenizerFile-->Document: lines
Document->TokenizerBlock: get tokens
TokenizerBlock-->Document: tokens 

sequence diagram: document

Source
Document->TokenizerBlock: get tokens (lines)
Note over TokenizerBlock: For each line
TokenizerBlock->TokenBlock: factory()
TokenBlock-->TokenizerBlock:false or Specialized Token
TokenizerBlock->Specialized Token: tokenize
Note over TokenizerBlock: put Specialized token in tokens
TokenizerBlock-->Document: tokens

Status

This project is still in its starting blocks and is not usable.

Currently :

  • i'm trying to implement the list block items (with block children). i'm currently trying to get the children to be a variant. i have the structure (i think) but, now i have to correctly take out the items from the vector.
  • the p and h token get all the way from the parser to the renderer...
  • the <em> is the first inline block to be processed.
  • use it as vischio input.md
  • next steps:
    • get catch to work and create the unit tests for <em>
    • add other inline items
    • find out how to get the lists to work (block children in block item)
    • get he <br> to work.
  • cmake/FindCatch.cmake now somehow works, but:
    • it does not "find" Catch after downloading it (you have to re-download it)
    • i cannot set noexecpt and std-11 as a minimum without removing the original settings for the project from the CMakeLists.txt.

Notes

On the road to creating this library I've had a look at:

Some input:

Online testing of the Github Markdown:

Todo

About

Vischio is a simple, modern, and hackable C++ Markdown library.

License:MIT License


Languages

Language:C++ 80.1%Language:CMake 19.9%