提交 e5682d5c 编写于 作者: M Mars Liu

support $ in content

上级 cf447881
...@@ -19,4 +19,7 @@ CSDN 技能树结构(章节、元信息、习题)解释器,支持技能树 ...@@ -19,4 +19,7 @@ CSDN 技能树结构(章节、元信息、习题)解释器,支持技能树
-`keywords_must``keywords_forbid` 的读取操作添加默认值 -`keywords_must``keywords_forbid` 的读取操作添加默认值
### 0.0.7 ### 0.0.7
- 为 config.json 添加默认的 `keywords_must``keywords_forbid` 空列表 - 为 config.json 添加默认的 `keywords_must``keywords_forbid` 空列表
\ No newline at end of file
### 0.0.8
- 补充对 $ 符号的宽容处理
\ No newline at end of file
...@@ -7,7 +7,7 @@ this_directory = Path(__file__).parent ...@@ -7,7 +7,7 @@ this_directory = Path(__file__).parent
long_description = (this_directory / "README.md").read_text() long_description = (this_directory / "README.md").read_text()
setup(name="skill-tree-parser", setup(name="skill-tree-parser",
version="0.0.7", version="0.0.8",
description="CSDN Skill Tree Parser", description="CSDN Skill Tree Parser",
long_description=long_description, long_description=long_description,
long_description_content_type='text/markdown', long_description_content_type='text/markdown',
......
...@@ -185,7 +185,7 @@ def paragraph(state): ...@@ -185,7 +185,7 @@ def paragraph(state):
continue continue
finally: finally:
state.rollback(tran) state.rollback(tran)
return Paragraph(processor(buffer), "markdown") return Paragraph(processor(buffer).strip(), "markdown")
return Paragraph(processor(buffer), "markdown") return Paragraph(processor(buffer), "markdown")
......
...@@ -110,7 +110,7 @@ def processor(plain): ...@@ -110,7 +110,7 @@ def processor(plain):
buffer += c buffer += c
except ParsecError as err: except ParsecError as err:
st.commit(tran) st.commit(tran)
buffer += st.data[index:st.index] buffer += "$"+st.data[index:st.index]
else: else:
st.commit(tran) st.commit(tran)
......
...@@ -212,7 +212,8 @@ class MathTestCase(unittest.TestCase): ...@@ -212,7 +212,8 @@ class MathTestCase(unittest.TestCase):
result = processor(data) result = processor(data)
self.assertEqual(result, math_processor(data)) self.assertEqual(result, math_processor(data))
spark = """# Neo4j的Apache Spark连接器 spark = """
# Neo4j的Apache Spark连接器
Apache Spark 的 Neo4j 连接器旨在使图与 Spark 的集成变得容易。有两种有效的使用连接器的方法: Apache Spark 的 Neo4j 连接器旨在使图与 Spark 的集成变得容易。有两种有效的使用连接器的方法:
...@@ -304,4 +305,53 @@ class MarkdownBlockTestCase(unittest.TestCase): ...@@ -304,4 +305,53 @@ class MarkdownBlockTestCase(unittest.TestCase):
state = BasicState(learn.strip()) state = BasicState(learn.strip())
doc = mk.parse(state) doc = mk.parse(state)
self.assertEqual("```diff\nvar foo = 'bar';\n+ var x = 200;\n* var x = 100;\n```", self.assertEqual("```diff\nvar foo = 'bar';\n+ var x = 200;\n* var x = 100;\n```",
doc.options[1].paras[0].source) doc.options[1].paras[0].source)
\ No newline at end of file
shell = """
# SHELL 的变量
下面说法中不正确的是
## 答案
下面的代码扩展了系统变量 $PATH
```
export $PATH=$PATH:$HOME/bin
```
## 选项
### A
Shell 通常使用 `$abc` 的形式引用变量
### B
下面的代码扩展了系统变量 $PATH
```
export PATH=$PATH:$HOME/bin
```
### C
通过下列命令可以查看 PATH
```
echo $PATH
```
"""
class DollarTestCase(unittest.TestCase):
def test_parse(self):
state = BasicState(shell.strip())
doc = mk.parse(state)
self.assertEqual("Shell 通常使用 `$abc` 的形式引用变量",
doc.options[0].paras[0].source)
self.assertEqual("""下面的代码扩展了系统变量 $PATH""",
doc.options[1].paras[0].source)
self.assertEqual("""export PATH=$PATH:$HOME/bin""",
doc.options[1].paras[1].source)
self.assertEqual(3, len(doc.options))
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册