定制 bueltge/marksimple 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

bueltge/marksimple

Composer 安装命令:

composer require bueltge/marksimple

包简介

A simple Markdown parser for PHP.

README 文档

README

CI Maintainability Code Coverage Scrutinizer Code Quality

A simple Markdown parser, short and only with the rules there I currently need. The function is regex based and it is possible to enhance your custom rules.

Yes, I know, it give a lot of open projects that solve the same goal. However it was fun to write my custom parser, only with the rules there I need, not to much overhead. Yes, also I mean that other packages more solid solid, lof of usages, bot not points enough to learn about regex and markdown. Besides I know a regex parser is not the best, fastest way, but also here, I would to teach me in this context.

Demo, Tests

The solution is still active in his tests, you find it here. This test of the class is also build as PWA, Progressive Web App. It was only an fun project for me to understand it on a really simple site how it works. But is important, if you see the directory test in this repository here and wounder about so much files there are not in the context of the Markdown parser. If you will check the PWA, use it on your mobile or play with Chrome/WebInspector.

Active use

The class is simple and I use it for my own documentation, there I write in markdown. Here and there is the result a single oage to help in each day to find the right syntax, hints, background and others. You can see this on this examples:

Support

My class supports currently the follow syntax. But Pull Request are really welcome and the solution give you the possibility to add your own rule.

  • Headers, h1 - h6 - # to ###### before the string
  • Image, ![](path/to/image.png "Alt text")
  • Strong, bold text, strong - ** or __ before and after the string
  • Italic text, em - an * or _ before and after the string
  • Unordered list, ul - * for each line
  • Inline Code, code - an ``` backtick before and after the code string
  • Code Blocks, pre - (4 spaces) or (tab) in each line or the fenced code blocks by placing triple backticks and optional the language identifier,
  • Links, a - [Link Text](Link URL)
  • Horizontal line, ---
  • Break, new line, <br>

Usage

Requirements

  • PHP 7.4

Install static via download, clone the repository or use dependency management via Composer

composer require bueltge/marksimple

You find the solution and the tests in the repository on GitHub.

See the test directory for an example with two different usages. The test directory works as PWA, for examples see only the file index.php.

Code examples

// Example with four spaces.
require_once '../vendor/autoload.php';
use Bueltge\Marksimple\Marksimple;
$ms = new Marksimple();
print $ms->parseFile('../README.md');
// Example Github Code Block ```php.
require_once '../vendor/autoload.php';
use Bueltge\Marksimple\Marksimple;
$ms = new Marksimple();
print $ms->parseFile('../README.md');

Add Logger examples

The MarkSimple class instance uses the psr/log feature.

And the default Logger is the NullLogger it will be created when declaring MarkSimple class instance. The more details about psr/log, please visit this link.

$testee = new Marksimple();
echo get_class($testee->logger()); //output: Psr\Log\NullLogger

Kudos

On the way to the goal of my simple parser I use lot of tests, tries on the online Regex testers. Thanks a lot to the authors of this followed two sites, great!

License

Copyright (c) 2017 until now, Frank Bültge

Good news, this plugin is free for everyone! Since it's released under the MIT License you can use it free of charge on your personal or commercial website.

Contributing

All feedback / bug reports / pull requests are welcome.

统计信息

  • 总下载量: 6.92k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 14
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 14
  • Watchers: 3
  • Forks: 8
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2018-01-27

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固