是否有在 Markdown 文件中使用 HTML 的解决方案 - 或显示一个纯 HTML 的整个额外页面的选项?
问题:我想在我的 mkdocs 生成的 wiki 中包含一个使用一些内联 Javascript 的 html 片段。
尝试过:我已经搜索了几个小时,但在此处或官方文档中找不到答案。
我试图在Python中找到一种解析(可能是格式错误的)HTML的方法,如果满足一组条件,则输出该文档的位置(行,列).位置信息正在绊倒我.要清楚,我没有必要构建一个对象树.我只是想找到某些数据及其在原始文档中的位置(想想一个拼写检查器,例如:'word'foo"在第x行,第y列,拼写错误)'
作为一个例子,我想要这样的东西(使用ElementTree的Target API):
import xml.etree.ElementTree as ET
class EchoTarget:
def start(self, tag, attrib):
if somecondition():
print "start", tag, attrib, self.getpos()
def end(self, tag):
if somecondition():
print "end", tag, self.getpos()
def data(self, data):
if somecondition():
print "data", repr(data), self.getpos()
target = EchoTarget()
parser = ET.XMLParser(target=target)
parser.feed("<p>some text</p>")
parser.close()
Run Code Online (Sandbox Code Playgroud)
但是,据我所知,该getpos()方法(或类似的东西)不存在.当然,那是使用XML解析器.我想解析可能格式错误的HTML.
有趣的是,Python Standard Lib中的HTMLParser类确实支持获取位置信息(使用getpos()方法),但它在处理格式错误的HTML时非常糟糕,并且已被淘汰作为可能的解决方案.我需要在不破坏解析器的情况下解析真实单词中存在的HTML.
我知道两个HTML解析器可以很好地解析格式错误的HTML,即lxml和html5lib.事实上,我宁愿使用其中任何一个而不是Python中的任何其他选项.
但是,据我所知,html5lib不提供事件API,并且需要将文档解析为树对象.然后我将不得不遍历树.当然,到那时,与源文档没有关联,并且所有位置信息都丢失了.所以,html5lib已经出局,这是一种耻辱,因为它似乎是处理格式错误的HTML的最佳解析器.
lxml库提供了一个主要镜像ElementTree的Target API,但同样,我不知道有任何方法可以访问每个事件的位置信息.浏览源代码也没有提示.
lxml还为SAX事件提供API.有趣的是,Python的标准库提到SAX支持定位器对象,但很少提供有关如何使用它们的文档.这个SO问题提供了一些信息(当使用SAX Parser时),但我没有看到它与lxml提供的对SAX事件的有限支持有何关系.
最后,在有人推荐Beautiful Soup之前,我会指出,正如主页上所说,"Beautiful Soup位于流行的Python解析器之上,如lxml和html5lib".它给我的全部内容是从没有连接到原始源文档的数据中提取数据.与html5lib一样,当我访问数据时,所有位置信息都会丢失.我希望/需要直接对解析器进行原始访问.
为了扩展我在开头提到的拼写检查器示例,我想检查文档文本中的单词(但不是标签名称或属性)的拼写,并且可能想要跳过检查特定标签的内容(如脚本)或代码标签).因此,我需要一个真正的HTML解析器.但是,我只对原始源文档中拼写错误的单词的位置感兴趣,当涉及报告拼写错误的单词并且不需要构建树对象时.需要说明的是,这只是一个潜在用途的例子.我可以将它用于完全不同的东西,但需求基本相同.事实上,我曾经使用HTMLParser构建了一些非常相似的东西,但从未使用它,因为错误处理不适用于该用例.那是几年前的事了,而且我似乎已经在某个地方遗失了那个文件.我想这次使用lxml或html5lib.
那么,有什么我想念的吗?我很难相信这些解析器(除了大多数无用的HTMLParser之外)都没有办法访问位置信息.但是,如果他们这样做,它必须是无证的,这对我来说似乎很奇怪.
我正在使用showdown.js,可以从https://github.com/showdownjs/showdown/下载
问题是我试图只允许某些格式?例如,只允许使用粗体格式,其余的不进行转换,例如丢弃格式
如果我正在编写下面是Markdown Expression的文本
"Text attributes _italic_, *italic*, __bold__, **bold**, `monospace`."
Run Code Online (Sandbox Code Playgroud)
以上的输出将在下面
<p>Text attributes <em>italic</em>, <em>italic</em>, <strong>bold</strong>, <strong>bold</strong>, <code>monospace</code>.
Run Code Online (Sandbox Code Playgroud)
转换后.现在我想要的是转换时,它应该将粗体表达式转换为它应该丢弃的其余表达式.
我使用下面的代码将markdown表达式转换为下面的普通文本
var converter = new showdown.Converter(),
//Converting the response received in to html format
html = converter.makeHtml("Text attributes _italic_, *italic*, __bold__, **bold**, `monospace`.");
Run Code Online (Sandbox Code Playgroud)
谢谢!
我正在尝试用降价的观星者制作一个合适的表格。线性模型代码如下:
k <- lm(mean_p ~ P*MA, data=d)
Run Code Online (Sandbox Code Playgroud)
但是调用以下 stargazer-function 不起作用,会产生错误
NULL 的长度不能改变
并且只生成 html 代码。
stargazer(k,type="html")
Run Code Online (Sandbox Code Playgroud)
这是 dput(head(d)) 调用的输出:
structure(list(
age = c(15.1666666666667, 14.9166666666667,
13.3333333333333, 12.0833333333333, 10.9166666666667, 13.75),
gender = c("girls", "girls", "boys", "girls", "boys", "girls"),
MA = c("NM", "NM", "NM", "NM", "NM", "NM"),
AFC = c(0, 0, 0, 0, 0, 0),
test_k_1 = c(3, 3, 3, 3, 0, 0), test_k_2 = c(6, 3, 6, 6, 3, 3),
test_k_3 = c(9, 0, 6, 3, 0, 0), test_k_4 = c(3, 3, …Run Code Online (Sandbox Code Playgroud) 我在github评论中有关于markdown的问题.
- [ ] [ ] [ ] [ ] [ ] item 1
- [ ] - [ ] - [ ] - [ ]item 2
Run Code Online (Sandbox Code Playgroud)
使用上面的代码,只有第一个复选框是ok :(
我正在使用以下语法
```yaml
stages:
- build
- test
- deploy
```
Run Code Online (Sandbox Code Playgroud)
这有助于我获得正确的文本颜色并获得框,但如何更改框的背景色。
在 pandoc 降价文件的 YAML 标头中,可以编写摘要。我想知道是否有办法将渲染文档中的“抽象”一词更改为其他词,例如“摘要”一词或另一种语言中的等效词。
如果没有,可以建议哪些替代方案?我正在使用 R Markdown。
ps 我的问题与此评论有关。
我正在尝试使用python进行聊天,但是如果对方在我输入内容时发送文本,那就搞砸了.我的代码是这样的:
import threading
import time
import sys
def printf(str, *args):
print(str % args, end='')
def printwait():
global End
while not End:
time.sleep(3)
print(' ')
print('waiting respond')
def reqinput():
global End
while not End:
name = input("Input your name:")
End=name=='@end'
End=False
t1=threading.Thread(target=printwait)
t2=threading.Thread(target=reqinput)
t1.start()
t2.start()
t1.join()
t2.join()
print('done')
Run Code Online (Sandbox Code Playgroud)
当我在打字中间,然后睡眠时间到期时,它就像这样搞砸了:
Input your name:waiting respond
im trying twaiting respond
o typwaiting respond
e somethingwaiting respond
here
Input your name:waiting respond
waiting respond
waiting respond
waiting respond
waiting respond
waiting respond
waiting respond
@waiting …Run Code Online (Sandbox Code Playgroud) 我有一个 R markdown,我在其中构建了一个表格,我想添加将表格下载到 excel 文件的选项。
kable(MyTable) %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed",
"responsive")) %>%
scroll_box(width = "900px", height = "500px")
Run Code Online (Sandbox Code Playgroud) 我的目标是编写易于阅读的纯文本格式和 html 格式的文档文件。
问题在于使用降价表。例如,我有长字符串的表:
| Name | Description |
|-----------|------------------------------------------------------------------------------------------------------------------------------|
| some_name | Very very very long description for some_name property that should be easy to read even in plain text form even in html form |
Run Code Online (Sandbox Code Playgroud)
此降价生成普通 HTML,但由于行很长,因此无法以纯文本形式阅读它。
如果我写这样的东西:
| Name | Description |
|-----------|--------------------------------|
| some_name | Very very very long description|
| | for some_name property that |
| | should be easy to read even in |
| | plain text form even in html | …Run Code Online (Sandbox Code Playgroud)