segmentfault / hyperdown Goto Github PK
View Code? Open in Web Editor NEW一个结构清晰的,易于维护的,现代的PHP Markdown解析器
License: Other
一个结构清晰的,易于维护的,现代的PHP Markdown解析器
License: Other
目前是否支持TOC?
能否增加 时序图和流程图支持?
http://bramp.github.io/js-sequence-diagrams/,
http://adrai.github.io/flowchart.js/
<p align='right'>xxxx</p>被解析成<p><p align='right'>xxxx</p></p>,且转义过。有没有其他方法实现内容右对齐或居中?
_斜体_
**_我斜了_ 我没斜**
斜体
我斜了 我没斜
1. test1
+ test2
这样的markdown语句解析得到的html为
<ol></ol><ul><li><p>test1</p></li><li><p>test2</p></li></ul>
按常理说应该是全部ol,或者是test1为ol, test2为ul;而不应该是现在这个结果。希望解答,谢谢。
我写一个textarea标签内有一段html代码(虽然不应该用textarea展示代码),发现里面的代码会被加上
- [ ] i
- [ ] missing
- [ ] you
- [x] so
- [x] much
btw:上次问题反馈处理真是速度,谢谢
最近没更新了?
这个不用费什么功夫吧,希望跟进一下!
建议增加行内LaTeX解析,解决行内公式显示
谢谢
-line 393
if (strlen($matches[1]) >= $this->getBlock()[3]) {
-line 401
if (strlen($matches[1]) >= $this->getBlock()[3][0]) {
这数组存储的--.
function parseInline
str_replace(['[', ']'], ['[', ']'], $matches[1])
上面这行代码,同一函数定义的数组重复多次-。- 是否可以优化
如何保留$$ ... $$之间的代码,另外也保留latex ....
之间的代码块,使其不要解析成传统code?
url端口号没有处理,应该包含到url中的。
转化前:
转化后:
运行该任务:gulp,输出文字提示可以访问的地址:http://localhost:8080
应该为:
运行该任务:gulp,输出文字提示可以访问的地址:http://localhost:8080
具体情况请看 http://segmentfault.com/q/1010000003098262 上的讨论
虽然不能确定是 HyperDown 造成的,但是我猜是,估计 SegmentFault 最近后台换 HyperDown 解析了。
顺便,希望 HyperDown 的解析能和预览里的脚本解析效果一致,不然预览都不可信了。
h2 标签id 不能加上中文,导致提取目录后,没法跳转
我在laravel8框架中引用 传入的文章内容如果包含http的链接就会报一个Undefined offset: 4错误 在Parser文件代码的545行
一旦列表中使用了 ``` 代码段,则列表无法结束,比如下面这段,“这是列表外的内容。”始终显示在列表内。
⽆序列表:
使⽤星号(*
)、加号(+
)或是减号(-
),在后面再加一个空白作为列表标记:
* 红色
* 绿色
* 蓝色
列表结尾
这是列表外的内容。
如果列表中使用了缩进形式的代码段则列表会提前结束:
⽆序列表:
使⽤星号(*
)、加号(+
)或是减号(-
),在后面再加一个空白作为列表标记:
* 红色
* 绿色
* 蓝色
列表结尾
这是列表外内容。
用空行分开的列表项,会连载一起:
和
aaa
bbb
显示一样
..
SF 社区用户反馈,github、stackoverflow 都实现了,比如想实现下面这样的 markdown 代码展示:
```
hell world
```
如下面这个例子里有两个参考链接,都没有被解析出来。
<?php
include 'Parser.php';
$mk = new HyperDown\Parser();
file_put_contents("r.txt",$mk->makehtml('<!--markdown-->[糗事百科][]今天在新浪微博发表了一条这样的微博:
> 网络无障碍公益纪录片《1%》:2014年5月22日,糗百影视小分队奔赴杭州 采访了一位特殊的糗友。他叫[顾伶磊][],是一位视障人。去年底,他给糗百发了一封私信,希望我们为盲人开发无障碍的糗百客户端。现在我们app的视障版已经发布了,想听听他有什么看法……
<embed src="http://www.tudou.com/v/eKPUp2sPPhQ/&bid=05&resourceId=0_05_05_99/v.swf" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" wmode="opaque" width="480" height="400"></embed>
土豆网播放地址: <http://www.tudou.com/programs/view/eKPUp2sPPhQ/>
<div>dddd</div>
<br />
[糗事百科]: http://weibo.com/1850235592/B62V5k3r9?type=repost
[顾伶磊]: http://weibo.com/n/%E9%A1%BE%E4%BC%B6%E7%A3%8A
'));
| Left-Aligned | Center Aligned | Right Aligned |
| :------------ |:---------------:| -----:|
| col 3 is | some wordy text | $1600 |
| col 2 is | centered | $12 |
| zebra stripes | are neat | $1 |
| Item | Value |
| --------- | -----:|
| Computer | $1600 |
| Phone | $12 |
| Pipe | $1 |
找的demo,发现错误
Left-Aligned | Center Aligned | Right Aligned |
---|---|---|
col 3 is | some wordy text | $1600 |
col 2 is | centered | $12 |
zebra stripes | are neat | $1 |
Item | Value |
---|---|
Computer | $1600 |
Phone | $12 |
Pipe | $1 |
像 **粗体**
这种解析两边必须存在空格,如果写成这样
大家好**我是粗体**
是不会被解析的。
[ ![pic.jpg](http://pic.jpg) ]( http://url.com )
这种链接的解析会存在问题,无法解析出图片标签。
修改了一个兼容的版本(纯体力劳动),需要的可以领走:https://github.com/easychen/HyperDown
这也显得太没经验了。。。
## GEEK 们,玩起来!
反斜杠在页面中显示出来了 没有被隐藏掉
当时发布了这篇文章,结果只有1个gif显示出来了。还有很多用"`"标注的code在页面上解析显示成一串数字和字符组合了。很是蛋疼
举例:
I was
将会被解析成
<ol><li>was</li></ol>
据我了解没有任何一个 Markdown 格式规定了这样的 list 格式?所以这是一个 bug?
例子:
* element1
* element2
# Troubleshooting
预期行为:
<ul>
<li>element1</li>
<li>element2</li>
</ul>
<h1>Troubleshooting</h1>
实际行为:
<ul>
<li>element1</li>
<li>
<p>element2</p>
<h1>Troubleshooting</h1>
</li>
</ul>
开启了 html 标签白名单以后,如果用户插入一段这样的代码
<i onclick="alert(233)">XSS</i>
还是可以成功触发 onclick 事件
是否能加入一个白名单的功能,比如指定了只能加入 style、class 这些 tag
谢谢。
代码块没有高亮吗
这是前台js预览的效果:
这是页面渲染出来的效果:
文章链接
希望作者修复一下,这个库还是蛮不错的
如下面的内容,embed元素和div元素作为独立段落存在,都被转意了。
这样的结果是无法在markdown文本里书写html了。
<?php
include 'Parser.php';
$mk = new HyperDown\Parser();
file_put_contents("r.txt",$mk->makehtml('<!--markdown-->[糗事百科][]今天在新浪微博发表了一条这样的微博:
> 网络无障碍公益纪录片《1%》:2014年5月22日,糗百影视小分队奔赴杭州 采访了一位特殊的糗友。他叫[顾伶磊][],是一位视障人。去年底,他给糗百发了一封私信,希望我们为盲人开发无障碍的糗百客户端。现在我们app的视障版已经发布了,想听听他有什么看法……
<embed src="http://www.tudou.com/v/eKPUp2sPPhQ/&bid=05&resourceId=0_05_05_99/v.swf" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" wmode="opaque" width="480" height="400"></embed>
土豆网播放地址: <http://www.tudou.com/programs/view/eKPUp2sPPhQ/>
<div>dddd</div>
<br />
[糗事百科]: http://weibo.com/1850235592/B62V5k3r9?type=repost
[顾伶磊]: http://weibo.com/n/%E9%A1%BE%E4%BC%B6%E7%A3%8A
'));
HyperDown 发布以来经过数年考验,应该可以添加一个正式的版本号了吧?但是 composer 上还停留在 dev-master。
如果不添加,composer 添加时将会导致如上的错误提示,只能指定 composer require joyqi/hyper-down:dev-master
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.