-
Notifications
You must be signed in to change notification settings - Fork 23
ReadMe Flavored Markdown (#306 Rebase) #398
Conversation
sorting out the last kinks before this gets merged in:
|
4ab0d0c
to
b0188d0
Compare
@rafegoldberg When this is good to go, would you like to split it out of the explorer repo? |
@erunion I don’t know if splitting it out is necessary, unless you think so? In any case, this should be ready to go anytime in Jan., once we’ve gotten support to QA and have their go-ahead. |
(/also when I figure out how to get the tests working up to e’eryones satisfaction.) |
@rafegoldberg yeah was just thinking aloud and wondering if it made sense to continue to bundle the markdown work alongside the explorer. |
I'm happy keeping Markdown as part of this repo for now, since we wouldnt get much benefit splitting it out apart from causing lots of |
Changed the base of this off master and onto a new |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sorry
@@ -1,5 +1,5 @@ | |||
// Inspiration from https://github.com/remarkjs/remark-gemoji/blob/01b33f7f1536e6491ff0aefe859695b2639594dc/index.js | |||
const Emoji = require('./emojis.js').emoji; | |||
const Emoji = require('../emojis.js').emoji; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unrelated to this PR, but we should probably swap this out with @readme/emojis.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm! feel free to merge after pulling the latest release/v5
in here.
and way too much more...
still have to touch up alignment, th rendering, etc
- clean up (nix unused files + deps; simplify naming; etc.) - validate and reformat shitty code
- add tests for magic block conversions - add tests for multi md renderer exports
add extra markdown content fixtures to test against
collect custom parsers and compilers in to sub-directories
should take an AST obj and return a MD string
append a normal, rather than a non-breaking, space at end of str
to account for updated newline normalization
Co-Authored-By: Jon Ursenbach <erunion@users.noreply.github.com>
Co-Authored-By: Jon Ursenbach <erunion@users.noreply.github.com>
Co-Authored-By: Jon Ursenbach <erunion@users.noreply.github.com>
Co-Authored-By: Jon Ursenbach <erunion@users.noreply.github.com>
breaks rdmd embeds; still work for magicblocks!
099dfec
to
eb5a67c
Compare
* ReadMe Flavored Markdown (#306 Rebase) (#398) * HACKZ * hackz; dont judge! * custom slate mdast serializer rules and way too much more... * more blocks! * fix html viewport * fix tables still have to touch up alignment, th rendering, etc * code quality - clean up (nix unused files + deps; simplify naming; etc.) - validate and reformat shitty code * more code reformatting * polish magic block parser * code coverage - add tests for magic block conversions - add tests for multi md renderer exports * fix ordered-list serialization * add MD fixtures add extra markdown content fixtures to test against * restructure unified plugins collect custom parsers and compilers in to sub-directories * fix the render.md tests should take an AST obj and return a MD string * minor format fixes * turn off commonmark * block conversion commands * initial restructure - move renderers to own files (marks, decorations, blocks) - move commands/plugins to own files * simplify @readme/markdown method args * minor schema fixes * clean up and some more mess * better editor * fix fig compiler * syntax highlighting * list fixups * abstract slate blocks to configurable plugins * initial ReadMe flavored MD parser * implement flavored markdown * editor polish * adjacent code block parsing - wrap single-break-separated blocks in tabbed editor - show double-break-separated blocks separately * cleanup * initial front end components - much to much exploration, as always - not enough clean up * add build processes to sub-packages * restore default example delete editor working files * externalize hub's content rendering - nix the entire content.jsx loop - internalize components in @rdme/md - use the md.render.hub * build packages * extract hub RdmeWrap renderer * multi code styles * simplify magic imag block conversion don't wrap img in extra figure * pare extraneous top-level dependencies * nix explorative demo files * clean markdown deps * rename RdmeWrap to CodeTabs * nix extraneous files * clean up * ...meaningful method names christ, rafe... * pare extraneous compilers * restore inter-dependent refs works locally, not in PR apps until all sub-packages have been deployed * Update packages/markdown/components/Code.jsx Co-Authored-By: domharrington <domharrington@users.noreply.github.com> * Update packages/markdown/components/Code.jsx Co-Authored-By: domharrington <domharrington@users.noreply.github.com> * comments * add magic-block parameter conversion * convert magic block tables to markdown * tokenize inline table cell contents * cleanup * chore: resolving some broken builds * fix: downgrade sass-loader for webpack compat https://stackoverflow.com/a/58230550/1341949 * fix: webpack 4 upgrade merge breakage * fix: revert variables to use packaged component * chore: build * fix: broken var context export * refactor(@markdown): clean up index methods, exports * refactor(@markdown): move GlossaryItem to ./components * refactor(@markdown/emoji) move emoji schema in to ./processor * fix(@markdown): scope hub components SCSS * build(@markdown) * run prettier * internalize magicblock string normalization method * rename markdown methods; clean up components * clarity - fix some markdown.react components * add assorted MD fixture files * prettier * ¿can haz i tests? - I am pretty sure I blew away some of the snapshots for anchors with baseURLs, and headings with anchors which seem likely to be critical to certain interactions in our docs! - I am definitely still `skip`ping a few tests (for variable and glossary components) * fix some hast hName stuff * clean up eslint disables * more eslint disable deleting! * update packages * pullin' it all together * revert more unnecessary deps, config changes * docs(markdown): update readme * revert config files * initial magic embed parser + transformer * fix embed display * don't require scss styles in js/jsx it breaks the ReadMe build for whatever reason, even though this seems to work in the explorer... * test build * update readme * Update README.md * Update README.md * Update README.md * Update README.md * update readme * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * update readme * update readme * Update README.md * Update README.md * various clean up * revert unnecessary changes * more house cleaning! * update readme * update markdown processor * update explorer integrations * fix magic block table alignment * update table head styling * clean up * fix components - implement variable + glossary providers - fix heading levels + anchor links * update main MD styles * update tests * build * style components * fix heading ids for multiple headers of same ID * fix code tabs meta regex parsing * fix: remove extra image caption parsing * fix header anchor incrementation * chore: update beta/editor-rebase with latest master (#435) * fix: Fixing a regression of additionalProperties keys not being editable (#404) * fix: fixing a regression of additionalProperties keys not being editable * chore: refactoring and simplifying the label logic * chore: updating dist files * v4.13.3 * chore: Bump css-loader from 3.2.1 to 3.3.2 (#405) Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 3.2.1 to 3.3.2. - [Release notes](https://github.com/webpack-contrib/css-loader/releases) - [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md) - [Commits](webpack-contrib/css-loader@v3.2.1...v3.3.2) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> * chore: Bump @readme/eslint-config from 1.7.0 to 1.8.0 (#406) * chore: Bump @readme/eslint-config from 1.7.0 to 1.8.0 Bumps [@readme/eslint-config](https://github.com/readmeio/eslint-config) from 1.7.0 to 1.8.0. - [Release notes](https://github.com/readmeio/eslint-config/releases) - [Changelog](https://github.com/readmeio/eslint-config/blob/master/CHANGELOG.md) - [Commits](https://github.com/readmeio/eslint-config/commits) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> * style: resolving style issues with test formatting * style: resolving style issues with test formatting * style: resolving style issues with test formatting * refactor: refer to new pointers for log (#407) * ♻️ refer to new pointers for log * ✅ fix the tests * 🚨 prettier * chore: dist updates * v4.14.0 * chore: Bump @babel/preset-env from 7.7.6 to 7.7.7 (#413) Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.7.6 to 7.7.7. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md) - [Commits](babel/babel@v7.7.6...v7.7.7) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> * chore(deps-dev): Bump @readme/eslint-config from 1.8.0 to 1.8.1 (#416) Bumps [@readme/eslint-config](https://github.com/readmeio/eslint-config) from 1.8.0 to 1.8.1. - [Release notes](https://github.com/readmeio/eslint-config/releases) - [Changelog](https://github.com/readmeio/eslint-config/blob/master/CHANGELOG.md) - [Commits](https://github.com/readmeio/eslint-config/commits/1.8.1) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> * chore(deps-dev): Bump eslint from 6.7.2 to 6.8.0 (#410) Bumps [eslint](https://github.com/eslint/eslint) from 6.7.2 to 6.8.0. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md) - [Commits](eslint/eslint@v6.7.2...v6.8.0) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> * chore(deps): Bump oas from 1.0.2 to 1.1.0 (#415) Bumps [oas](https://github.com/readmeio/oas) from 1.0.2 to 1.1.0. - [Release notes](https://github.com/readmeio/oas/releases) - [Changelog](https://github.com/readmeio/oas/blob/master/CHANGELOG.md) - [Commits](https://github.com/readmeio/oas/commits) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> * chore(deps-dev): Bump enzyme from 3.10.0 to 3.11.0 (#408) Bumps [enzyme](https://github.com/airbnb/enzyme/tree/HEAD/packages/enzyme) from 3.10.0 to 3.11.0. - [Release notes](https://github.com/airbnb/enzyme/releases) - [Changelog](https://github.com/airbnb/enzyme/blob/master/CHANGELOG.md) - [Commits](https://github.com/airbnb/enzyme/commits/enzyme@3.11.0/packages/enzyme) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> * chore(deps-dev): Bump webpack from 4.41.2 to 4.41.4 (#409) Bumps [webpack](https://github.com/webpack/webpack) from 4.41.2 to 4.41.4. - [Release notes](https://github.com/webpack/webpack/releases) - [Commits](webpack/webpack@v4.41.2...v4.41.4) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> * chore(deps-dev): Bump enzyme-adapter-react-16 from 1.15.1 to 1.15.2 (#417) Bumps [enzyme-adapter-react-16](https://github.com/airbnb/enzyme/tree/HEAD/packages/enzyme-adapter-react-16) from 1.15.1 to 1.15.2. - [Release notes](https://github.com/airbnb/enzyme/releases) - [Changelog](https://github.com/airbnb/enzyme/blob/master/CHANGELOG.md) - [Commits](https://github.com/airbnb/enzyme/commits/enzyme-adapter-react-16@1.15.2/packages/enzyme-adapter-react-16) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> * chore(deps): Bump css-loader from 3.3.2 to 3.4.0 (#411) Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 3.3.2 to 3.4.0. - [Release notes](https://github.com/webpack-contrib/css-loader/releases) - [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md) - [Commits](webpack-contrib/css-loader@v3.3.2...v3.4.0) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> * chore(deps): Bump codemirror from 5.49.2 to 5.50.0 (#412) Bumps [codemirror](https://github.com/codemirror/CodeMirror) from 5.49.2 to 5.50.0. - [Release notes](https://github.com/codemirror/CodeMirror/releases) - [Changelog](https://github.com/codemirror/CodeMirror/blob/master/CHANGELOG.md) - [Commits](codemirror/codemirror5@5.49.2...5.50.0) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> * chore(deps-dev): Bump style-loader from 1.0.1 to 1.1.1 (#414) Bumps [style-loader](https://github.com/webpack-contrib/style-loader) from 1.0.1 to 1.1.1. - [Release notes](https://github.com/webpack-contrib/style-loader/releases) - [Changelog](https://github.com/webpack-contrib/style-loader/blob/master/CHANGELOG.md) - [Commits](webpack-contrib/style-loader@v1.0.1...v1.1.1) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> * chore(deps-dev): Bump @readme/eslint-config from 1.8.1 to 1.9.0 (#424) Bumps [@readme/eslint-config](https://github.com/readmeio/eslint-config) from 1.8.1 to 1.9.0. - [Release notes](https://github.com/readmeio/eslint-config/releases) - [Changelog](https://github.com/readmeio/eslint-config/blob/master/CHANGELOG.md) - [Commits](readmeio/standards@1.8.1...1.9.0) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> * chore(deps-dev): Bump lerna from 3.19.0 to 3.20.2 (#428) Bumps [lerna](https://github.com/lerna/lerna/tree/HEAD/core/lerna) from 3.19.0 to 3.20.2. - [Release notes](https://github.com/lerna/lerna/releases) - [Changelog](https://github.com/lerna/lerna/blob/master/core/lerna/CHANGELOG.md) - [Commits](https://github.com/lerna/lerna/commits/v3.20.2/core/lerna) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> * chore(deps-dev): Bump nock from 11.7.0 to 11.7.1 (#425) Bumps [nock](https://github.com/nock/nock) from 11.7.0 to 11.7.1. - [Release notes](https://github.com/nock/nock/releases) - [Changelog](https://github.com/nock/nock/blob/master/CHANGELOG.md) - [Commits](nock/nock@v11.7.0...v11.7.1) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> * chore(deps): [Security] Bump handlebars from 4.1.2 to 4.5.3 (#418) Bumps [handlebars](https://github.com/wycats/handlebars.js) from 4.1.2 to 4.5.3. **This update includes a security fix.** - [Release notes](https://github.com/wycats/handlebars.js/releases) - [Changelog](https://github.com/wycats/handlebars.js/blob/master/release-notes.md) - [Commits](handlebars-lang/handlebars.js@v4.1.2...v4.5.3) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> * chore(deps-dev): Bump style-loader from 1.1.1 to 1.1.2 (#419) Bumps [style-loader](https://github.com/webpack-contrib/style-loader) from 1.1.1 to 1.1.2. - [Release notes](https://github.com/webpack-contrib/style-loader/releases) - [Changelog](https://github.com/webpack-contrib/style-loader/blob/master/CHANGELOG.md) - [Commits](webpack-contrib/style-loader@v1.1.1...v1.1.2) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> * chore(deps-dev): Bump webpack-dev-server from 3.9.0 to 3.10.1 (#421) Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 3.9.0 to 3.10.1. - [Release notes](https://github.com/webpack/webpack-dev-server/releases) - [Changelog](https://github.com/webpack/webpack-dev-server/blob/v3.10.1/CHANGELOG.md) - [Commits](webpack/webpack-dev-server@v3.9.0...v3.10.1) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> * chore(deps-dev): Bump @babel/core from 7.7.5 to 7.7.7 (#422) Bumps [@babel/core](https://github.com/babel/babel) from 7.7.5 to 7.7.7. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md) - [Commits](babel/babel@v7.7.5...v7.7.7) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> * chore(deps-dev): Bump webpack from 4.41.4 to 4.41.5 (#423) Bumps [webpack](https://github.com/webpack/webpack) from 4.41.4 to 4.41.5. - [Release notes](https://github.com/webpack/webpack/releases) - [Commits](webpack/webpack@v4.41.4...v4.41.5) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> * chore(deps-dev): Bump css-loader from 3.4.0 to 3.4.1 (#426) Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 3.4.0 to 3.4.1. - [Release notes](https://github.com/webpack-contrib/css-loader/releases) - [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md) - [Commits](webpack-contrib/css-loader@v3.4.0...v3.4.1) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> * chore(deps): Bump codemirror from 5.50.0 to 5.50.2 (#427) Bumps [codemirror](https://github.com/codemirror/CodeMirror) from 5.50.0 to 5.50.2. - [Release notes](https://github.com/codemirror/CodeMirror/releases) - [Changelog](https://github.com/codemirror/CodeMirror/blob/master/CHANGELOG.md) - [Commits](codemirror/codemirror5@5.50.0...5.50.2) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> * test: updating an out of date fixture that was breaking the local demo (#429) * chore(dev-deps): replacing uglifyjs-webpack-plugin with terser-webpack-plugin (#430) * test: removing codeclimate from our builds (#432) * fix: align params to top (#431) * chore: dist updates * v4.15.0 * test: setting up a github workflow for running unit tests (#434) * test: setting up a github workflow for running unit tests * docs: updating readmes with a github workflow ci badge * fix: resolving some eslint callouts Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> Co-authored-by: Sean <dokko1230@gmail.com> Co-authored-by: Rafe Goldberg <rafegoldberg@gmail.com> * fix: coverage report handlebars instance errors Fix per this issue: jestjs/jest#9396 (comment) * chore: update sanitization schema * chore: update tests - remove end line breaks - dont expect user content prefixs - dont allow extraneous p tags in markup - update snapshots * test: move var + glossary tests - move tests in to components.test.js - render react md w/ context providers - update snapshots * test: rdmd react component rendering * test: reenable coverage reporting * make ALMOST all tests ALMOST work * fix: header anchor incrementation * fix tests * chore: remove api-explorer custom magic block parsers * fix image captions for magic blocks * test: magic img blocks with captions * fix: suppress pinned content sidebar ...for now * fix: render pinned text blocks * fix three column layout * fix two col css * more css fixes * fix layout themes * style: scroll CodeTabs-toolbar x-overflow content * style: extract markdown overrides in explorer styles * style: markdown components * fix: pre-markdown normalization append a normal, rather than a non-breaking, space at end of str * test: update snapshots to account for updated newline normalization * update readme * unskip tests * clean up Code component * rename magic block test suite * nix unnecessary markdown test files * clean up magic block parser * revert petstore example * revert explorer dist changes * revert api-logs dist * clean up test snapshots * move test data vars in to respective tests * update readme * require src for images * fix eslint issues * fix tabbed template strings * Update packages/api-explorer/src/block-types/Content.jsx Co-Authored-By: Jon Ursenbach <erunion@users.noreply.github.com> * Update packages/markdown/.babelrc Co-Authored-By: Jon Ursenbach <erunion@users.noreply.github.com> * Update packages/markdown/.jsinspectrc Co-Authored-By: Jon Ursenbach <erunion@users.noreply.github.com> * Update packages/markdown/README.md Co-Authored-By: Jon Ursenbach <erunion@users.noreply.github.com> * dont run embedly from the front end breaks rdmd embeds; still work for magicblocks! * update test expectations * nix comment Co-authored-by: domharrington <domharrington@users.noreply.github.com> Co-authored-by: Jon Ursenbach <erunion@users.noreply.github.com> Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> Co-authored-by: Sean <dokko1230@gmail.com> * chore: resolving some conflicts in the package lock files * chore: removing last references to circleci * chore: update dist files * v5.0.0-alpha.0 * v5.0.0-alpha.1 * v5.0.0-alpha.2 * v5.0.0-alpha.3 * chore: resolving some package-lock discrepancies * build: updating dist files * v5.0.0-alpha.4 * fix(markdown@v5): fix magic block null cases. (#508) - empty heading blocks - empty image blocks - empty embed blocks - non standard callout - blank table headers - update tests * chore: updating the v5 branch (#515) * merging master into release/v5 * chore: resolving issues with package lockfiles * chore(deps): fixing version differences on markdown-magic * style: silencing some unsafe regex errors * feat: backporting the legacy markdown engine to run alongside the new (#516) Co-authored-by: Rafe Goldberg <rafegoldberg@gmail.com> Co-authored-by: domharrington <domharrington@users.noreply.github.com> Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> Co-authored-by: Sean <dokko1230@gmail.com>
By default, the updated
@readme/markdown
package exports a function which takes a string of ReadMe-flavored markdown and returns a tree of React components:In addition to the default React processor, the package exports a few other methods for transforming ReadMe-flavored markdown:
...which will give you:
rdmd
[key
]html
text
,options
ast
text
,options
md
tree
,options
utils