Skip to content

ysdragon/markdown

Repository files navigation

Ring Markdown

A native markdown processing extension for the Ring programming language, built on top of the high-performance MD4C parser.

Features

  • Cross-platform (Windows, Linux, FreeBSD)
  • Easy-to-use Ring API

Prerequisites

  • Ring programming language (1.22 or later)
  • CMake (3.5 or later)
  • C compiler (GCC, Clang, or MSVC)

Installation

Using RingPM

ringpm install markdown from ysdragon

Manual Build

  1. Clone the repository:
git clone --recursive https://github.com/ysdragon/markdown.git
cd markdown
  1. Set RING environment variable to your Ring installation directory:

On Windows (cmd):

set RING=X:\path\to\ring

On Windows (PowerShell):

$env:RING = "X:\path\to\ring"

On Unix-like systems:

export RING=/path/to/ring
  1. Build using CMake:
cmake -Bbuild -DCMAKE_BUILD_TYPE=Release
cmake --build build

Usage

load "markdown.ring"

md = new Markdown()

# Use custom flags
md.setFlags(MD_FLAG_TABLES | MD_FLAG_STRIKETHROUGH)

# Convert markdown to HTML
text = "# Hello World\nThis is **bold** and *italic*."
html = md.toHTML(text)
? html

# Parse markdown structure
struct = md.parse(text)
? struct

Examples

Check the examples directory for more usage examples:

  • 01-basic.ring: Basic markdown to HTML conversion
  • 02-github.ring: GitHub-flavored markdown features
  • 03-custom-flags.ring: Custom parsing options

Contributing

Bug Reports

If you find a bug, please open an issue on GitHub with:

  • A clear description of the problem
  • Steps to reproduce
  • Expected vs actual behavior
  • Your environment details (OS, Ring version, etc.)

Pull Requests

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. Open a Pull Request

Development Setup

  1. Fork and clone the repository
  2. Build the project following installation instructions
  3. Run tests before submitting PR
  4. Ensure documentation is updated

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

A Markdown parser and HTML converter extension for the Ring programming language

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published