From e5682d5c1179c048a22d07fc3d169011dce9b9f3 Mon Sep 17 00:00:00 2001 From: Mars Liu <mars.liu@outlook.com> Date: Fri, 21 Jan 2022 10:28:40 +0800 Subject: [PATCH] support $ in content --- README.md | 5 ++- setup.py | 2 +- src/skill_tree/exercises/markdown.py | 2 +- src/skill_tree/exercises/market_math.py | 2 +- src/test/exercises/markdown_test.py | 54 ++++++++++++++++++++++++- 5 files changed, 59 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 6fd4b7f..269a9b5 100644 --- a/README.md +++ b/README.md @@ -19,4 +19,7 @@ CSDN æŠ€èƒ½æ ‘ç»“æž„ï¼ˆç« èŠ‚ã€å…ƒä¿¡æ¯ã€ä¹ 题)解释器,支æŒæŠ€èƒ½æ ‘ - 为 `keywords_must` å’Œ `keywords_forbid` 的读å–æ“ä½œæ·»åŠ é»˜è®¤å€¼ ### 0.0.7 - - 为 config.json æ·»åŠ é»˜è®¤çš„ `keywords_must` å’Œ `keywords_forbid` 空列表 \ No newline at end of file + - 为 config.json æ·»åŠ é»˜è®¤çš„ `keywords_must` å’Œ `keywords_forbid` 空列表 + +### 0.0.8 + - 补充对 $ 符å·çš„å®½å®¹å¤„ç† \ No newline at end of file diff --git a/setup.py b/setup.py index c76ae57..b52896e 100644 --- a/setup.py +++ b/setup.py @@ -7,7 +7,7 @@ this_directory = Path(__file__).parent long_description = (this_directory / "README.md").read_text() setup(name="skill-tree-parser", - version="0.0.7", + version="0.0.8", description="CSDN Skill Tree Parser", long_description=long_description, long_description_content_type='text/markdown', diff --git a/src/skill_tree/exercises/markdown.py b/src/skill_tree/exercises/markdown.py index d3a7148..a4a56f7 100644 --- a/src/skill_tree/exercises/markdown.py +++ b/src/skill_tree/exercises/markdown.py @@ -185,7 +185,7 @@ def paragraph(state): continue finally: state.rollback(tran) - return Paragraph(processor(buffer), "markdown") + return Paragraph(processor(buffer).strip(), "markdown") return Paragraph(processor(buffer), "markdown") diff --git a/src/skill_tree/exercises/market_math.py b/src/skill_tree/exercises/market_math.py index f93df5d..7e79caf 100644 --- a/src/skill_tree/exercises/market_math.py +++ b/src/skill_tree/exercises/market_math.py @@ -110,7 +110,7 @@ def processor(plain): buffer += c except ParsecError as err: st.commit(tran) - buffer += st.data[index:st.index] + buffer += "$"+st.data[index:st.index] else: st.commit(tran) diff --git a/src/test/exercises/markdown_test.py b/src/test/exercises/markdown_test.py index dceddc3..85c58da 100644 --- a/src/test/exercises/markdown_test.py +++ b/src/test/exercises/markdown_test.py @@ -212,7 +212,8 @@ class MathTestCase(unittest.TestCase): result = processor(data) self.assertEqual(result, math_processor(data)) -spark = """# Neo4jçš„Apache Spark连接器 +spark = """ +# Neo4jçš„Apache Spark连接器 Apache Spark çš„ Neo4j 连接器旨在使图与 Spark 的集æˆå˜å¾—容易。有两ç§æœ‰æ•ˆçš„使用连接器的方法: @@ -304,4 +305,53 @@ class MarkdownBlockTestCase(unittest.TestCase): state = BasicState(learn.strip()) doc = mk.parse(state) self.assertEqual("```diff\nvar foo = 'bar';\n+ var x = 200;\n* var x = 100;\n```", - doc.options[1].paras[0].source) \ No newline at end of file + doc.options[1].paras[0].source) + + +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 -- GitLab