diff options
author | Qieerb <qieerbushe7@gmail.com> | 2018-03-23 11:52:28 +0000 |
---|---|---|
committer | Qieerb <qieerbushe7@gmail.com> | 2018-03-23 11:52:28 +0000 |
commit | 13690c0a3617832a60e99ea90e24a522de2ceeab (patch) | |
tree | cd33a42496853fc62e5989d2b0eaffc2ae6a4f0b | |
parent | 39db6af12988fb773fdb875ccb47f8e6b8316123 (diff) | |
parent | addfc4ba4f1b3f2832dac467c4e8174519871bf8 (diff) | |
download | FMark-13690c0a3617832a60e99ea90e24a522de2ceeab.tar.gz FMark-13690c0a3617832a60e99ea90e24a522de2ceeab.zip |
Merge branch 'toclinkingfix' of https://github.com/ymherklotz/FMark into toclinkingfix
-rw-r--r-- | FMark/src/Common/MarkdownGen/MarkdownGen.fs | 2 | ||||
-rw-r--r-- | FMark/src/Common/Parser/Parser.fs | 4 | ||||
-rw-r--r-- | FMark/src/Common/Parser/ParserTest.fs | 16 |
3 files changed, 11 insertions, 11 deletions
diff --git a/FMark/src/Common/MarkdownGen/MarkdownGen.fs b/FMark/src/Common/MarkdownGen/MarkdownGen.fs index 3594a48..079e40c 100644 --- a/FMark/src/Common/MarkdownGen/MarkdownGen.fs +++ b/FMark/src/Common/MarkdownGen/MarkdownGen.fs @@ -126,7 +126,7 @@ let mdBody pObjs = | CodeBlock (c, l) -> surround "```" (mapLang l + "\n" + c + "\n") | Table rows -> mdTable rows | List l -> mdList l |> sprintf "%s\n" - | Header (h,s) -> mdHeader h //#### DO SOMETHING WITH STRING HERE + | Header h -> mdHeader h //#### DO SOMETHING WITH STRING HERE //| Footnote (fnId, _) -> mdInlineFootnote fnId | _ -> sprintf "%A is not implemented" pObj List.fold folder "" pObjs diff --git a/FMark/src/Common/Parser/Parser.fs b/FMark/src/Common/Parser/Parser.fs index 2e10969..02f7b0c 100644 --- a/FMark/src/Common/Parser/Parser.fs +++ b/FMark/src/Common/Parser/Parser.fs @@ -151,7 +151,7 @@ let (|MatchTOC|_|) hdList toks = let createLinks (hdList:THeader list) = let makeRelLink i (h:THeader) = let linkText = Line(h.HeaderName) - let linkID = headerIDGen i hdList.[i] + let linkID = hdList.[i].RefID {h with HeaderName = [Link (linkText, sprintf "#%s" linkID)]} //{h with HeaderName = Link((h.HeaderName), sprintf "#HEADER%i" i)} // Link of HyperText: TFrmtedString * URL: string let linksLst = List.mapi makeRelLink hdList @@ -274,7 +274,7 @@ let rec parseItem (hdLst: THeader list) (ftLst: ParsedObj list) (rawToks: Token | MatchQuote (content, rtks) -> (parseInLineElements2 ftLst content |> Quote , rtks) |> Ok - | HEADER i :: rtks -> (Header (hdLst.[i],(headerIDGen i hdLst.[i])), rtks) |> Ok + | HEADER i :: rtks -> (Header (hdLst.[i]), rtks) |> Ok | PickoutList (list, retoks) -> (parseList list |> List, retoks) |> Ok | PickoutParagraph (par, retoks) -> (parseParagraph ftLst par, retoks) |> Ok diff --git a/FMark/src/Common/Parser/ParserTest.fs b/FMark/src/Common/Parser/ParserTest.fs index 3ab30e8..7e9f329 100644 --- a/FMark/src/Common/Parser/ParserTest.fs +++ b/FMark/src/Common/Parser/ParserTest.fs @@ -271,7 +271,7 @@ let testGlobal = ); ( [ENDLINE;ENDLINE; HASH; HASH; WHITESPACE 2; LITERAL "h2"], - [Header({HeaderName=[FrmtedString(Literal "h2")]; Level=2},"h20")] |>Ok, "h2 header" + [Header({HeaderName=[FrmtedString(Literal "h2")]; Level=2; RefID="h20"})] |>Ok, "h2 header" ); ( [HASH; HASH; LITERAL "h2"], @@ -525,9 +525,9 @@ let ``TOC tests`` = let h3Tok = [HASH;HASH;HASH;WHITESPACE 1;LITERAL "h3"] let twoEndlines = endline@endline let parsedToc = ContentTable ({HeaderLst=[]}) - let h1THeader = {HeaderName = [Link (Line [FrmtedString (Literal "h1")],"#h10")]; Level = 1} - let h1THeader2 = {HeaderName = [Link (Line [FrmtedString (Literal "h1")],"#h11")]; Level = 1} - let h2THeader = {HeaderName = [Link (Line [FrmtedString (Literal "h2")],"#h21")]; Level = 2} + let h1THeader = {HeaderName = [Link (Line [FrmtedString (Literal "h1")],"#h10")]; Level = 1; RefID="h10"} + let h1THeader2 = {HeaderName = [Link (Line [FrmtedString (Literal "h1")],"#h11")]; Level = 1; RefID="h11"} + let h2THeader = {HeaderName = [Link (Line [FrmtedString (Literal "h2")],"#h21")]; Level = 2; RefID="h21"} let h1ContentTable = ContentTable @@ -550,10 +550,10 @@ let ``TOC tests`` = h1THeader;h2THeader ] } - let h1ParsedObj = Header ({HeaderName = [FrmtedString (Literal "h1")];Level = 1},"h10") - let h1ParsedObj2 = Header ({HeaderName = [FrmtedString (Literal "h1")];Level = 1},"h11") - let h2ParsedObj = Header ({HeaderName = [FrmtedString (Literal "h2")];Level = 2},"h21") - let h3ParsedObj = Header ({HeaderName = [FrmtedString (Literal "h3")];Level = 3},"h32") + let h1ParsedObj = Header ({HeaderName = [FrmtedString (Literal "h1")];Level = 1; RefID="h10"}) + let h1ParsedObj2 = Header ({HeaderName = [FrmtedString (Literal "h1")];Level = 1; RefID="h11"}) + let h2ParsedObj = Header ({HeaderName = [FrmtedString (Literal "h2")];Level = 2; RefID="h21"}) + let h3ParsedObj = Header ({HeaderName = [FrmtedString (Literal "h3")];Level = 3; RefID="h32"}) makeExpectoTestList id makeOk parse "TOC tests"[ ( |