Blog · GitLab (User) Created at 2018-1-25 19:09:16 Updated at 2018-4-27 12:37:36 Tomas Hubelbauer
Plan pluggable test sources

MarkDown DOM

A MarkDown deserializer/serializer which provides a DOM for manipulation MarkDown documents.

Examples:

# Header

## Headers
do not break line this

But paragraphs
do!
{
  "blocks": [
    { "type": "header", "level": 1, "spans": [ { "type": "run", "text": " Header" } ] },
    { "type": "paragraph", "spans": [ { "type": "run", "text": "" } ] },
    { "type": "header", "level": 2, "spans": [ { "type": "run", "text": "Headers" } ] },
    { "type": "paragraph", "spans": [ { "type": "run", "text": "do not break like this" } ] },
    { "type": "paragraph", "spans": [ { "type": "run", "text": "But paragraphs" }, { "type": "newline" }, { "type": "do!" } ] }
  ]
}

Running

Open VS Code integrated terminal and run:

cd test
yarn start

This will test the library using READMEs from NPM packages.

Then split the Terminal using the split button and run:

cd demo/server
yarn start

This will start an API server for the visual testing app.

Then split the Terminal using the split button and run:

cd demo/client
yarn start

This will open the visual testing app.

Testing

Either using the app above or by running on NPM packages' READMEs.

cd test
yarn start

Publishing

Debugging

It is recommended to open a new terminal session for each yarn start run to have only that run's logs in the scrollback.

Changes (77)
2018-4-27 12:37:36 Tomas Hubelbauer
Plan pluggable test sources
2018-4-27 12:34:41 Tomas Hubelbauer
Fix the custom case counter
2018-4-24 07:26:46 Tomáš Hübelbauer
Plan redoing links in a more robust way
2018-4-24 07:14:06 Tomáš Hübelbauer
Test both local test cases and NPM packages
2018-4-23 21:19:24 Tomáš Hübelbauer
Implement rudimentary format parsing and handle errors in callers
2018-4-23 20:43:21 Tomáš Hübelbauer
Fix more parsing cases found on NPM
2018-4-23 20:15:35 Tomáš Hübelbauer
Fix simple problems with missing null handling
2018-4-23 20:07:52 Tomáš Hübelbauer
Update testing instructions
2018-4-23 20:06:27 Tomáš Hübelbauer
Fix integration with the library after refactoring
2018-4-23 20:02:57 Tomáš Hübelbauer
Refactor to classes (untested)
2018-4-23 19:51:15 Tomáš Hübelbauer
Cache READMEs from NPM
2018-4-23 19:50:54 Tomáš Hübelbauer
Improve diff display
2018-4-23 16:44:20 Tomáš Hübelbauer
Display both source and state diff
2018-4-23 16:01:32 Tomáš Hübelbauer
Fix up some minor things found in NPM package readmes
2018-4-23 16:01:17 Tomáš Hübelbauer
Use a better diff library and download HTML instead of reloading an iframe
2018-4-22 23:17:48 Tomáš Hübelbauer
Implement formatting nested unordered list items
2018-4-22 23:02:48 Tomáš Hübelbauer
Fix parsing headers and bump version
2018-4-22 22:54:38 Tomáš Hübelbauer
Fix parsing first non-first level headers
2018-4-22 12:30:15 Tomáš Hübelbauer
Mention the NPM registry test in the README
2018-4-22 12:25:11 Tomáš Hübelbauer
Break after first broken case in NPM readme test
2018-4-22 12:20:32 Tomáš Hübelbauer
Reintroduce the NPM-readme fueled test
2018-4-22 12:14:52 Tomáš Hübelbauer
Rename directories and split tests from data
2018-4-22 12:11:51 Tomáš Hübelbauer
Split textareas and correct file name sent
2018-4-22 11:38:18 Tomáš Hübelbauer
Implement switching between diff views
2018-4-22 11:26:48 Tomáš Hübelbauer
Convert the UI app to Petit
2018-4-22 11:26:38 Tomáš Hübelbauer
Contribute toString method for equality tests
2018-4-22 10:28:58 Tomáš Hübelbauer
Fix a problem with single line MarkDown with a checkbox
2018-4-22 10:04:27 Tomáš Hübelbauer
Plan introducing tests
2018-4-22 10:03:54 Tomáš Hübelbauer
Implement parsing checkboxen in unordered lists
2018-4-22 09:43:47 Tomáš Hübelbauer
Push consecutive list items into a single list
2018-4-22 09:42:14 Tomáš Hübelbauer
Implement parsing of unordered list items
2018-4-22 08:56:49 Tomáš Hübelbauer
Bump version and change log
2018-4-22 08:56:18 Tomáš Hübelbauer
Fix up types temporarily
2018-4-22 08:52:36 Tomáš Hübelbauer
Add publishing information
2018-4-21 10:32:53 Tomáš Hübelbauer
Fix borked deployment
2018-4-21 10:30:33 Tomáš Hübelbauer
Implement rudimentary table parsing
2018-4-20 17:08:07 Tomáš Hübelbauer
Bump the version
2018-4-20 17:07:46 Tomáš Hübelbauer
Compile for Node with WebPack
2018-4-20 16:57:55 Tomáš Hübelbauer
Prepare for publishing
2018-4-20 16:48:21 Tomáš Hübelbauer
Implement parsing links in paragraphs and headers
2018-4-20 15:52:55 Tomáš Hübelbauer
Display error stringified
2018-4-20 15:50:59 Tomáš Hübelbauer
Handle errors and begin inline parsing
2018-4-20 15:50:37 Tomáš Hübelbauer
Check types strictly
2018-4-20 15:50:29 Tomáš Hübelbauer
Watch lib as well for the backend
2018-4-20 15:31:18 Tomáš Hübelbauer
Implement showing the state and source diffs
2018-4-20 15:08:40 Tomáš Hübelbauer
Improve running instructions and fix serving files
2018-3-6 16:24:17 Tomáš Hübelbauer
Introduce the new UI with selectable index
2018-3-6 15:49:26 Tomáš Hübelbauer
Wire up the client and server with diffs and plan more features
2018-3-6 15:16:16 Tomáš Hübelbauer
Prepare server client integration
2018-3-6 15:03:35 Tomáš Hübelbauer
Split the application to backend and frontend
2018-3-6 14:27:34 Tomáš Hübelbauer
Split to app and lib and plan app development
2018-3-6 14:02:07 Tomáš Hübelbauer
Introduce PrettyDiff and plan creating a UI for stepping
2018-2-11 09:50:41 Tomáš Hübelbauer
Sub registry-based test
2018-2-10 13:06:38 Tomáš Hübelbauer
Plan scraping NPM readmes for tests
2018-2-8 14:40:18 Tomáš Hübelbauer
Add basis for parsing links
2018-2-8 12:49:27 Tomáš Hübelbauer
Add white-space paragraph diambiguation state
2018-2-8 12:37:28 Tomáš Hübelbauer
Merge DOM and its type into one file Avoiding https://stackoverflow.com/q/48504557/2715716
2018-2-8 12:27:52 Tomáš Hübelbauer
Clean up DOM class structure and types
2018-2-8 10:46:26 Tomáš Hübelbauer
Use the improved logging system to fix headers
2018-2-8 10:26:07 Tomáš Hübelbauer
Restructure to a class and add better logging
2018-2-8 09:52:36 Tomáš Hübelbauer
Treat ambiguous blocks as paragraph until proven otherwise
2018-2-8 09:24:32 Tomáš Hübelbauer
Fix errors
2018-2-7 15:54:43 Tomáš Hübelbauer
Update reporting formatting
2018-1-29 20:46:19 Tomáš Hübelbauer
Add Daring Fireball links
2018-1-29 20:30:58 Tomáš Hübelbauer
Add a task to rid of ambiguous blocks
2018-1-29 16:57:13 Tomáš Hübelbauer
Rewrite everything to TypeScript up until unordered lists
2018-1-29 15:33:41 Tomáš Hübelbauer
Add example of bloggo fenced code block
2018-1-29 14:49:14 Tomáš Hübelbauer
Kick off TypeScript conversion
2018-1-26 13:55:48 Tomáš Hübelbauer
Add rearchitecture task
2018-1-26 13:54:10 Tomáš Hübelbauer
Draft unordered list block parsing
2018-1-26 11:24:11 Tomáš Hübelbauer
Add max heading depth task
2018-1-26 11:23:01 Tomáš Hübelbauer
Finalize block parsing of paragraphs and headings
2018-1-25 20:29:11 Tomáš Hübelbauer
Add example to the README.md
2018-1-25 20:22:02 Tomáš Hübelbauer
Add task to fix paragraph parsing
2018-1-25 20:21:04 Tomáš Hübelbauer
Draft basic block parsing
2018-1-25 19:10:12 Tomáš Hübelbauer
Post to Bloggo
2018-1-25 19:09:56 Tomáš Hübelbauer
Add README.md
Comments E-mail me!