This website requires JavaScript.
e5795e0d75
Added more tests
usingMegaparsec
Aadhavan Srinivasan
2025-07-30 15:34:43 -04:00
eae897a2d6
Improve document parser to parse extra newlines
Aadhavan Srinivasan
2025-07-30 15:32:35 -04:00
8152b89a23
Fix bug in fallthrough parser
Aadhavan Srinivasan
2025-07-30 15:29:25 -04:00
9d3d656065
Improved parser for horizontal rule and codeblock
Aadhavan Srinivasan
2025-07-30 15:28:58 -04:00
d4a550f6a7
Added token and parser for list checkbox
Aadhavan Srinivasan
2025-07-30 15:27:20 -04:00
2b21aeae89
Added implementation and tests for subscript and superscript; fixed nested list parsing
Aadhavan Srinivasan
2025-07-22 09:56:41 -04:00
ca328a464a
Add prettyPrint definition for horizontal rule
Aadhavan Srinivasan
2025-07-15 10:51:10 -04:00
7d45b1123f
Renamed md-to-html-runner to mdtoh
Aadhavan Srinivasan
2025-06-18 15:21:54 -04:00
9627abcd12
Updated test
Aadhavan Srinivasan
2025-06-10 14:14:56 -04:00
82277e9ea8
Only add newlines for linebreak when pretty printing
Aadhavan Srinivasan
2025-06-10 14:14:26 -04:00
d074b0131c
Parse linebreaks as a backslash before a newline
Aadhavan Srinivasan
2025-06-10 14:10:45 -04:00
57cb3e68fa
Import module for word wrapping; add package to cabal file
Aadhavan Srinivasan
2025-06-10 14:02:20 -04:00
4e9f84c2bb
Add function to pretty print; commented out my word wrap and use a built-in one instead
Aadhavan Srinivasan
2025-06-10 14:01:52 -04:00
e025614324
Print extra newline if output text doesn't include a newline
Aadhavan Srinivasan
2025-06-10 09:13:40 -04:00
e711444066
Add more packages to cabal file
Aadhavan Srinivasan
2025-06-10 09:13:15 -04:00
6b99a1835d
Created a separate parser list for all parsers (except the unit parser is replaced with the non-newline unit parser); use that parser when parsing list lines
Aadhavan Srinivasan
2025-06-10 09:12:42 -04:00
04167e0f96
Parse CSS classes in image and figure
Aadhavan Srinivasan
2025-06-10 09:11:56 -04:00
0528e813c5
Parser for CSS classes
Aadhavan Srinivasan
2025-06-10 09:11:34 -04:00
b1b99189c9
Link tect can be empty; inline code cannot be empty and can have nested backticks; created a unit parser for all characters except newline
Aadhavan Srinivasan
2025-06-10 09:11:19 -04:00
ade3768e29
Try and backtrack
Aadhavan Srinivasan
2025-06-10 09:10:10 -04:00
fd6d39ecd6
Parse space at beginning of list
Aadhavan Srinivasan
2025-06-10 09:09:53 -04:00
0f04342867
More trying and backtracking; parse and discard extraneous spaces at beginning of list
Aadhavan Srinivasan
2025-06-10 09:09:31 -04:00
80ef93bbc9
Try parsing an ordered list item, backtrack if not possible
Aadhavan Srinivasan
2025-06-10 09:08:52 -04:00
b73d4131b6
Added support for tables and codeblocks
Aadhavan Srinivasan
2025-06-10 09:08:30 -04:00
c48b8c5ae8
Images and figures now support CSS classes
Aadhavan Srinivasan
2025-06-10 09:05:31 -04:00
cf4282b26e
More imports
Aadhavan Srinivasan
2025-06-10 09:04:28 -04:00
7b40d6fe7c
Imports
Aadhavan Srinivasan
2025-06-10 09:04:18 -04:00
c4255d4578
Added a test for a list with just one item
Aadhavan Srinivasan
2025-06-10 09:04:02 -04:00
dcbbff13cb
Spacing change
Aadhavan Srinivasan
2025-06-10 09:03:48 -04:00
592fad2b46
Added tests for tables
Aadhavan Srinivasan
2025-06-10 09:03:32 -04:00
b8ba27f240
Strip newlines when comparing in test
Aadhavan Srinivasan
2025-06-03 15:37:27 -04:00
bb08b40512
Replaced nested bold with asterisks, with asterisks and underscores
Aadhavan Srinivasan
2025-06-03 15:37:12 -04:00
93548a4533
Never mind, doesn't seem to work well
Aadhavan Srinivasan
2025-06-03 15:31:13 -04:00
160cb0edeb
Trying to get nested bold and italic to work
Aadhavan Srinivasan
2025-06-03 15:30:35 -04:00
2893fa25e6
Include new packages
Aadhavan Srinivasan
2025-06-03 11:20:02 -04:00
324e5da82d
Use new definition for lefmostLongestParse
Aadhavan Srinivasan
2025-06-03 11:19:42 -04:00
05e5548aa9
Huge rewrite - use megaparsec instead of readP
Aadhavan Srinivasan
2025-06-03 11:19:05 -04:00
1915628a2b
Used 'in-order' parsing for headers, instead of leftmostLongestParse
Aadhavan Srinivasan
2025-05-27 14:12:13 -04:00
1d9ac86a2a
Implementation and test for horizontal rule
master
Aadhavan Srinivasan
2025-05-27 13:41:38 -04:00
0320402957
Fixed how trailing newlines are parsed
Aadhavan Srinivasan
2025-05-27 09:28:19 -04:00
8696a185a7
Rewrote readLines function to be more concise
Aadhavan Srinivasan
2025-05-27 08:55:10 -04:00
da38ac226f
Added figure implementation and tests
Aadhavan Srinivasan
2025-05-27 08:54:52 -04:00
1fcce32ef6
Updated to read from stdin/file
Aadhavan Srinivasan
2025-05-23 19:03:23 -04:00
e50081614a
Removed section from cabal file
Aadhavan Srinivasan
2025-05-23 19:03:14 -04:00
b98a8cc44f
Added image tests
Aadhavan Srinivasan
2025-05-23 14:55:58 -04:00
90c7a585d2
Added image parser
Aadhavan Srinivasan
2025-05-23 14:04:37 -04:00
4a15330874
Updated showing of image
Aadhavan Srinivasan
2025-05-23 14:04:21 -04:00
c14112d3e4
Updated special and escapable characters
Aadhavan Srinivasan
2025-05-23 14:04:05 -04:00
09982f4ab1
Made some changes
fixingIncompleteElements
Aadhavan Srinivasan
2025-05-23 08:07:02 -04:00
4101767aff
Merge remote-tracking branch 'origin' into fixingIncompleteElements
Aadhavan Srinivasan
2025-05-20 22:24:24 -04:00
ed7d2c1ef1
Added code parser to list line parser list
Aadhavan Srinivasan
2025-05-20 22:23:41 -04:00
234145bcb3
Started working on parsing changes to allow incomplete elements to be parsed (eg. opening bold, followed by text, without closing bold)
Aadhavan Srinivasan
2025-05-20 22:21:59 -04:00
eb20f154a4
Removed unused function
Aadhavan Srinivasan
2025-05-20 22:20:36 -04:00
172985131b
Fixed HTML rendering for horizontal rule
Aadhavan Srinivasan
2025-05-20 22:20:23 -04:00
3781e67ab1
Created a separate list of escapable chars
Aadhavan Srinivasan
2025-05-20 22:20:05 -04:00
f2d54edd3f
Implemented inline code parsing
Aadhavan Srinivasan
2025-05-20 22:19:44 -04:00
5393dc4eb9
Added code tests
Aadhavan Srinivasan
2025-05-20 22:18:37 -04:00
e051c87f08
Factor list line common parsing into a separate function; refactored OList and UList line parsing to us it
Aadhavan Srinivasan
2025-05-20 16:48:31 -04:00
9b1c51897c
A nested list can be ordered or unordered
Aadhavan Srinivasan
2025-05-20 16:47:58 -04:00
2a3dddc7b0
Rename function
Aadhavan Srinivasan
2025-05-20 16:47:31 -04:00
a8793b5adb
Remove obsolete comments
Aadhavan Srinivasan
2025-05-20 16:47:16 -04:00
eecec764ad
A list can contain a blockquote as well.
Aadhavan Srinivasan
2025-05-20 16:47:04 -04:00
cdca6ea95e
A list item doesn't need to have a nested list item parser, because the line item parser handles the nested list.
Aadhavan Srinivasan
2025-05-20 16:46:52 -04:00
540b5430e5
Use list of document parsers in parseDocument
Aadhavan Srinivasan
2025-05-20 16:45:56 -04:00
00dfba81eb
Created a list of document parsers; implemented ordered list parsing.
Aadhavan Srinivasan
2025-05-20 16:45:37 -04:00
39152c0034
Factor out common code for UList and OList parsing into a separate function. Refactored UList function; wrote OList function.
Aadhavan Srinivasan
2025-05-20 16:45:07 -04:00
41b35be7c9
Rename function
Aadhavan Srinivasan
2025-05-20 16:43:35 -04:00
d2c8565f62
Import Data.Char for isDigit
Aadhavan Srinivasan
2025-05-20 16:43:22 -04:00
62eeef2abb
Removed unused functions
Aadhavan Srinivasan
2025-05-20 16:43:10 -04:00
9c6634cfec
Added ordered list tests
Aadhavan Srinivasan
2025-05-20 16:42:40 -04:00
2a5a68b1de
Fixed test name
Aadhavan Srinivasan
2025-05-20 16:42:12 -04:00
f8e1a98bdf
Remove obsolete comment
Aadhavan Srinivasan
2025-05-20 14:03:30 -04:00
05433c31f1
Remove unused functions
Aadhavan Srinivasan
2025-05-20 14:02:50 -04:00
5c871f2b25
Removed test file
Rockingcool
2025-05-20 12:25:07 -05:00
5273c99e6e
Added unordered list tests and integration tests; added strikethrough tests to test list
Rockingcool
2025-05-20 12:24:20 -05:00
50888c9c3d
Added bold and strikethrough tests
Rockingcool
2025-05-20 12:23:47 -05:00
45115c765c
An unordered list must end in a blank line.
Rockingcool
2025-05-20 12:23:27 -05:00
5b0d42fd2d
Use the in-order parsing approach instead of the post-order one.
Rockingcool
2025-05-20 12:23:13 -05:00
2a585d00f2
Enforce at least one space between list indicator and list text.
Rockingcool
2025-05-20 12:22:37 -05:00
11a3b14cb1
Define a parser for list line tokens, update line token parser
Rockingcool
2025-05-20 12:22:19 -05:00
58d3142855
Update comment
Rockingcool
2025-05-20 12:21:45 -05:00
0fb651fffc
Add parseUnit instead of parseString to lineParsers
Rockingcool
2025-05-20 12:20:51 -05:00
bc05dede06
Create a list of parsers that are used for list line items.
Rockingcool
2025-05-20 12:20:35 -05:00
b69e34f823
Parse a single character as a unit
Rockingcool
2025-05-20 12:20:10 -05:00
2514ecdafc
Parse bold, italic and strikethrough in-order, instead of trying to find the end, then parsing everything in the middle.
Rockingcool
2025-05-20 12:19:59 -05:00
c52d5556a2
Allow for multiple blank lines after header
Rockingcool
2025-05-20 12:18:52 -05:00
5fc1b1122a
Create a function to 'fallthrough parse' ie. try the second parser only if the first one fails.
Rockingcool
2025-05-20 12:18:23 -05:00
83dd0024c4
Space doesn't have to be a reserved character anymore.
Rockingcool
2025-05-20 12:17:59 -05:00
70761649ad
Derive Eq for defined types
Rockingcool
2025-05-20 12:17:43 -05:00
b9c6cc4470
Implemented strikethrough parser
Rockingcool
2025-05-16 19:29:39 -05:00
23691f9cfe
Add strikethrough parser to line parser list
Rockingcool
2025-05-16 19:28:41 -05:00
8c220cc800
A document can consist of unordered lists as well
Rockingcool
2025-05-14 21:40:03 -05:00
ee453c0259
Fixed blockquote parser; implemented unordered list parser and relevant sub-parsers
Rockingcool
2025-05-14 21:39:27 -05:00
c90d23617a
A blockquote must have a list of tokens
Rockingcool
2025-05-14 21:38:50 -05:00
c574699a8a
Added an import
Rockingcool
2025-05-14 21:38:38 -05:00
f55e160e25
Added tests for unordered lists
Rockingcool
2025-05-14 21:37:58 -05:00
dddcca0185
Wrote a lot of helper functions - most importantly greedyParse
Rockingcool
2025-05-13 21:40:42 -05:00
e7d94f225a
Updated show definitions for some tokens; add HTML syntax
Rockingcool
2025-05-09 23:14:09 -05:00
e8eb22f3ae
Added pragmas to suppress LSP warnings; removed a random line that was added by the LSP
Rockingcool
2025-05-09 23:13:31 -05:00
ef1809970b
Greatly shortened parseQuotedLine, because I can just use greedyParse instead of using manyTill
Rockingcool
2025-05-09 23:12:53 -05:00